如何使用LINQ找到从Db成功删除的记录

时间:2012-06-30 15:07:25

标签: c# linq

我正在使用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();

2 个答案:

答案 0 :(得分:1)

MSDNSubmitChanges 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等于零,则表示一切正常,行被删除,但如果大于零,则表示有一些记录尚未成功删除