0

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

2 回答 2

1

MSDN:。SubmitChanges starts a transaction and will roll back if an exception occurs while SubmitChanges is executing_

所以我猜如果SubmitChanges throws出现异常,则没有进行更改。

于 2012-06-30T15:32:36.480 回答
0
System.Data.Linq.ChangeSet cs = aspdb.GetChangeSet();
bool IsDeleted = cs.Deletes.Count() == 0;

这里如果 cs.Deletes 等于 0 表示一切正常,该行已被删除,但如果大于 0,则表示有一些记录没有被成功删除

于 2012-06-30T15:26:49.377 回答