4

foreach が使用しないようにクエリを作成する方法。私の現在のクエリは次のとおりです。

IEnumerable<GuestRSVP> guestrsvps = db.GuestRSVPs.Where(p => p.CeremonyGuestPartyId == CeremonyGuestpartyId);
            foreach (var grsvp in guestrsvps)
            {
                db.GuestRSVPs.DeleteObject(grsvp);
            }

foreach ループを使用せずに、単一のクエリですべてのオブジェクトを削除するにはどうすればよいですか?

4

2 に答える 2

6
var guestrsvps = db.GuestRSVPs
                   .Where(p => p.CeremonyGuestPartyId == CeremonyGuestpartyId);

db.GuestRSVPs.DeleteAllOnSubmit(guestrsvps);
db.SubmitChanges();
于 2012-08-15T13:35:02.337 に答える
0

Delete メソッドを使用して、ラムダ述語を渡してみてください。スニペットは次のようになります。

db.GuestRSVPs.Delete(p => p.CeremonyGuestPartyId == CeremonyGuestpartyId);

LINQ to SQL 拡張機能: ラムダ式を使用したバッチ削除

于 2012-08-15T13:41:51.597 に答える