是否有像DbSet <T> .RemoveWhere(Predicate <T>)的东西

Den*_*nis 7 .net c# entity-framework ef-code-first entity-framework-4.3

可能重复:
LINQ to Entities中的批量删除

我需要按条件删除一些实体.例如,删除数量小于1的所有订单商品:

var orderId = 10; // any order Id
context.OrderItems.RemoveWhere(item => item.OrderId == orderId && item.Quantity < 1.0);
Run Code Online (Sandbox Code Playgroud)

我知道,我可以选择这些项目,然后像这样一个一个地删除它们:

var itemsToRemove = context.OrderItems.Where(item => item.OrderId == orderId && item.Quantity < 1.0).ToArray();

foreach (var item in itemsToRemove)
  context.OrderItems.Remove(item);
Run Code Online (Sandbox Code Playgroud)

但这是不太可能的,因为会有额外的工作.我错过了什么吗?

Jam*_*mes 3

您可以使用GitHub 上的EntityFramework.Extended插件,它支持批量更新和删除