使用linq to实体将多个数据插入不同的表中
本文关键字:插入 数据 to linq 实体 使用 | 更新日期: 2023-09-27 17:50:37
我在一个项目中使用AdventureWorks样本数据库。我可以使用vstorewithdemographic显示客户的(各种商店)信息。它是一个从数据库的不同表中检索不同数据块的视图。
我想我的程序插入一个新的客户到数据库使用linq实体,我不知道如何去做这个。插入到视图中只会给我错误,我认为这会发生,因为它不是一个表。
有什么办法吗?
是可以按照以下步骤操作
->创建一个代替触发器并使用它可以执行它例如,我有两个表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 ();
希望这对你有帮助