【问题标题】:inserting multiple data into different tables using linq to entities?使用 linq to 实体将多个数据插入不同的表?
【发布时间】:2011-04-20 20:18:04
【问题描述】:

我在一个项目中使用 AdventureWorks 示例数据库。我可以使用 vStorewithDemographics 显示客户(作为各种商店)的信息。这是一个从数据库的不同表中检索不同数据的视图。

我希望我的程序使用 linq to entity 将新客户插入到数据库中,但我不知道该怎么做。插入视图只会给我错误,我认为这会发生,因为它不是表格。

有什么办法吗?

【问题讨论】:

    标签: c# sql wpf database linq-to-entities


    【解决方案1】:

    是的,可以按照以下步骤操作

    --> 创建一个代替触发器并使用它你可以执行它 例如,我有两个表 customer 和 customerContacts 后者包含客户的电话号码和一个视图名称 customer details 将带来客户的所有详细信息,如下所示

    创建视图 [dbo].[CustomerDetails] 为 select c.*,cc.PhoneNumber from customer c inner join customerContact cc on c.CustomerId = cc.CustomerId

    对于插入有创建一个而不是触发器

    在 dbo.CustomerDetails 上创建 TRIGGER trgInsteadOfUpdate

    代替插入

    作为

    声明@Id int

    -- 插入客户 INSERT INTO customer SELECT CustomerName,CustomerAddress,State,Country FROM 插入

    设置@Id = SCOPE_IDENTITY()

    -- 插入到 CustomerContact INSERT INTO customerContact SELECT PhoneNumber,@Id FROm 插入

    当在 linq 中插入时,我可以使用以下两种方式中的任何一种

    //插入到视图中

    var newCusContact = new CustomerDetail{ Country="India", CustomerAddress="bbb", CustomerName="Tested", PhoneNumber="7879654", State="Delhi" };

    db.CustomerDetails.InsertOnSubmit(newCusContact);

    db.SubmitChanges();

    string insertStatement = "插入到 CustomerDetails(CustomerName,CustomerAddress,State,Country,PhoneNumber) values('DummyValue','DummyValue','Delhi','India','123459')";

    db.ExecuteQuery(insertStatement);

    db.SubmitChanges();

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多