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 に答える