是否有类似于DbSet <t> .RemoveWhere(Predicate <t>)</t> </t>

时间:2012-07-25 11:23:08

标签: c# .net entity-framework ef-code-first entity-framework-4.3

  

可能重复:
  Bulk-deleting in LINQ to Entities

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

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

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

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

foreach (var item in itemsToRemove)
  context.OrderItems.Remove(item);

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

1 个答案:

答案 0 :(得分:3)

您可以使用支持EntityFramework.Extended的GitHub上的Batch Update and Delete插件。

相关问题