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 方法并将 lambda 谓词传递给。片段应如下所示:

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

LINQ to SQL 扩展:使用 Lambda 表达式批量删除

于 2012-08-15T13:41:51.597 回答