c# - 使用 Linq to Entity 删除多行的有效方法?

标签 c# linq-to-entities

您好,我正在寻找一次删除多条记录的有效方法。我要删除 400 条记录,需要 8-15 秒。这是我的代码

using (var entities = new Entity())
   {                               
       foreach (Item item in entities.Items.Where(x => x.id == id))
              entities.DeleteObject(item);
       entities.SaveChanges();
   }

最佳答案

您可以使用 EntityFramework.Extensions 更快地完成它
1)首先使用NuGet安装EntityFramework.Extensions

2) 下面是类似于 Linq2Sql 的 DeleteAllOnSubmit() 的代码:

using EntityFramework.Extensions;

....

using (var entities = new Entity())
{                               
    entities.Items.Delete(x => x.id == id);
    entities.SaveChanges();
}

...

关于c# - 使用 Linq to Entity 删除多行的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6060217/

相关文章:

c# - 为什么Microsoft 的WCF 示例如此复杂?

asp.net - 如何在 Entity Framework 中加载外键引用表数据

c# - 获取 COUNT 时 Linq Select 语句变慢

c# - linq看不到实际的sql查询

c# - 更新所有子实体,EF/Linq

c# - 目标数组不够长。检查目标索引和长度以及数组的下限

c# - IMutableEntityType.GetProperties() 不包含我想要的属性

c# - ASP.NET MVC。是否可以使用 MVC Foolproof Validation 进行数组验证?

c# - 检索特定模式内的值

c# - Linq 查询的复杂性限制