使用linq to实体将多个数据插入不同的表中

本文关键字:插入 数据 to linq 实体 使用 | 更新日期: 2023-09-27 17:50:37

我在一个项目中使用AdventureWorks样本数据库。我可以使用vstorewithdemographic显示客户的(各种商店)信息。它是一个从数据库的不同表中检索不同数据块的视图。

我想我的程序插入一个新的客户到数据库使用linq实体,我不知道如何去做这个。插入到视图中只会给我错误,我认为这会发生,因为它不是一个表。

有什么办法吗?

使用linq to实体将多个数据插入不同的表中

是可以按照以下步骤操作

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

create view [dbo]。(CustomerDetails)作为选择c。*,cc。customerid = cc. customerid

用于插入已创建的触发器

创建触发器trginsteadupupdate ON dbo。CustomerDetails

代替INSERT

声明@Id int

—插入到客户INSERT INTO customer

Set @Id = SCOPE_IDENTITY()

—插入到CustomerContactINSERT INTO customerContact SELECT PhoneNumber,@Id FROm INSERT

当插入linq时,可以使用以下两种方式

//插入视图

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

db.CustomerDetails.InsertOnSubmit (newCusContact);

db.SubmitChanges ();

string insertStatement = "insert into CustomerDetails(CustomerName,CustomerAddress,State,Country,PhoneNumber) values('DummyValue','DummyValue','德里','印度','123459')";

db.ExecuteQuery (insertStatement);

db.SubmitChanges ();

希望这对你有帮助