是的,可以按照以下步骤操作
--> 创建一个代替触发器并使用它你可以执行它
例如,我有两个表 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();
希望对你有帮助