我正在使用LINQ-to-Sql,我写了一个块来删除数据库中的记录。 Executenonquery返回一个整数值,使用此值我们可以找到是否删除此记录。但是我们怎么能用Linq做到这一点?例如在我的代码中:
aspnetdbDataContext aspdb = new aspnetdbDataContext();
var res=from p in aspdb.TrackPoints
where p.RouteFK==routeId
select p;
aspdb.TrackPoints.DeleteOnSubmit(res.First());
aspdb.SubmitChanges();
答案 0 :(得分:1)
MSDN:SubmitChanges starts a transaction and will roll back if an exception occurs while SubmitChanges is executing
。
所以我猜如果 SubmitChanges throws
例外,则尚未进行更改。
答案 1 :(得分:0)
System.Data.Linq.ChangeSet cs = aspdb.GetChangeSet();
bool IsDeleted = cs.Deletes.Count() == 0;
如果cs.Deletes等于零,则表示一切正常,行被删除,但如果大于零,则表示有一些记录尚未成功删除