EF批量插入数据缓慢解决方法

Posted seanjack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF批量插入数据缓慢解决方法相关的知识,希望对你有一定的参考价值。

在VS中新建EF之后,右键解决方案下的引用, 选择管理NuGet程序包,搜索Z.EntityFramework.Extensions并安装。

 技术图片

 

 

在IRepository中加入方法

技术图片

 

在 Repository进行实现

 1     public virtual void BulkInsert(IEnumerable<TEntity> entities)
 2         {
 3             using (var transaction = db.Database.BeginTransaction())
 4             {
 5                 try
 6                 {
 7                     db.BulkInsert(entities);
 8                     transaction.Commit();
 9                 }
10                 catch (Exception)
11                 {
12                     throw;
13                 }
14             }
15         }

 

用EF插5000+条数据用时1分钟,自己都无法接受,更别说用户,用BulkInsert 只用几十毫秒,问题解决

以上是关于EF批量插入数据缓慢解决方法的主要内容,如果未能解决你的问题,请参考以下文章

与 ObjectContext 相比,为啥在 EF 4.1 中插入实体如此缓慢?

EF批量插入数据耗时对比

EF实现批量插入

优化saveAll 批量插入缓慢问题

极慢的 Netezza(数据库)批量插入

EF Core 慢速批量插入(~80k 行)