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中获得像sql概念那样的价值。
如果我得到该值,我可以显示上面提到的一些消息。那我该怎么做呢
答案 0 :(得分:2)
看看DataContext.GetChangeSet Method。 ChangeSet.ToString()
会给你一条消息,比如
{Inserts:x,Deletes:x,Updates:x}
您也可以直接访问Properties
int itemsToAddBeforeSubmitChanges = MyDB.GetChangeSet().Inserts.Count;
MyDB.SubmitChanges();
int itemsToAddAfterSubmitChanges = MyDB.GetChangeSet().Inserts.Count;