1
 MydatabaseDataContext MyDB = new MydatabaseDataContext();

 Employee MyEmp = new Employee();
 MyEmp.EmpID = 5039;
 MyEmp.EmpName = "XXX";
 MyDB.Employees.InsertOnSubmit(MyEmp);
 MyDB.SubmitChanges();

 IQueryable<Employee> _DeleteQuery = from dq in MyDB.Employees where dq.EmpID == 5039 select dq;
 foreach (Employee delete in _DeleteQuery)
 {
      MyDB.Employees.DeleteOnSubmit(delete);
 }
 MyDB.SubmitChanges();

 IQueryable<Employee> _UpdateQuery = from uq in MyDB.Employees where uq.EmpID == 5039 select uq;

 foreach (Employee Update in _UpdateQuery)
 {
     Update.EmpName = "yyy";
 }
 MyDB.SubmitChanges();

使用上面的代码,我可以插入、删除和更新记录。如果插入、删除和更新成功完成,我必须显示一些消息,如“插入、删除和更新成功完成”。

在 ADO.NET 中它会返回一些 int 值(1)。但我不知道如何在 linq to sql 概念中获得这样的值。

如果我得到那个值,我可以显示一些上面提到的消息。那我该怎么办

4

1 回答 1

2

看看DataContext.GetChangeSet 方法ChangeSet.ToString()会给你一条消息,比如

{插入:x,删除:x,更新:x}

您也可以直接访问属性

int itemsToAddBeforeSubmitChanges = MyDB.GetChangeSet().Inserts.Count;
MyDB.SubmitChanges();
int itemsToAddAfterSubmitChanges = MyDB.GetChangeSet().Inserts.Count;
于 2012-07-01T08:55:57.427 回答