有没有像DbSet这样的东西<T>。删除位置(谓词<T>)



可能重复:
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);

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

您可以在GitHub上使用EntityFramework.扩展插件,该插件支持批量更新和删除。

最新更新