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 只用几十毫秒,问题解决