entity-framework – 在Entity框架中改进批量插入性能

我想通过实体框架在表中插入20000条记录,大约需要2分钟。有没有任何方式,而不是使用SP来提高其性能。这是我的代码:

 foreach (Employees item in sequence)
 {
   t = new Employees ();
   t.Text = item.Text;
   dataContext.Employees.AddObject(t);                  
 }
 dataContext.SaveChanges();
有机会进行几个改进(如果你使用DbContext):

组:

yourContext.Configuration.AutoDetectChangesEnabled = false;
yourContext.Configuration.ValidateOnSaveEnabled = false;

在100个插入的包中执行SaveChanges()…或者您可以尝试1000个包的项,并查看性能的更改。

因为在所有这些插入期间,上下文是相同的,它变得越来越大,你可以每1000个插入重建你的上下文对象。 var yourContext = new YourContext();我认为这是巨大的收获。

在我的一个导入数据过程中做这些改进,从7分钟到6秒。

实际的数字…不能是100的o 1000的在你的情况…试试和调整它。

http://stackoverflow.com/questions/6107206/improving-bulk-insert-performance-in-entity-framework

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:entity-framework – 在Entity框架中改进批量插入性能