我知道有一些商业图书馆,并且AddRange
,但AFAIK AddRange
在底层进行了零碎的INSERT。
我正在寻找一个可用于同时添加新实体集合的免费实用程序 - EF6是否存在?
答案 0 :(得分:2)
您可以使用以下库:
https://github.com/MikaelEliasson/EntityFramework.Utilities
适用于简单的批量插入和更新。
如果您想了解实现批量插入的其他选项,您还应该查看以下帖子:
答案 1 :(得分:0)
我建议您看看N.EntityFramework.Extension。它是EF 6的基本批量扩展框架,可在Nuget上获得,源代码在MIT许可下可在Github上获得。
Install-Package N.EntityFramework.Extensions
https://www.nuget.org/packages/N.EntityFramework.Extensions
安装后,您可以直接在DbContext实例上直接使用BulkInsert()方法。它支持BulkDelete,BulkInsert,BulkMerge等。
BulkDelete()
var dbcontext = new MyDbContext();
var orders = dbcontext.Orders.Where(o => o.TotalPrice < 5.35M);
dbcontext.BulkDelete(orders);
BulkInsert()
var dbcontext = new MyDbContext();
var orders = new List<Order>();
for(int i=0; i<10000; i++)
{
orders.Add(new Order { OrderDate = DateTime.UtcNow, TotalPrice = 2.99 });
}
dbcontext.BulkInsert(orders);