Gam*_*med 1 .net c# database entity-framework
我正在开发一个项目,它只使用Entity Framework代码首先插入相对大量的记录(250K记录,只有2列).
但是将所有记录写入数据库需要花费太多时间(2~3小时)!
是因为实体框架很慢,有大量或记录或什么?
PS
代码段:
foreach (var t in myCollection)
{
Db.Words.Add(t);
Db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
实体框架不适合批量操作.即使在最后执行Context.SaveChanges()(或每100条记录或某事).
using (var context = new MyContext())
{
// This might speed up things a little aswell
context.Configuration.AutoDetectChangesEnabled = false;
// As might this (if applicable for your situation)
context.Configuration.ValidateOnSaveEnabled = false;
}
Run Code Online (Sandbox Code Playgroud)
为了获得最佳性能,您可能希望使用与存储过程相近的数据库,或者如果必须在代码中,请直接使用ADO.NET.
SqlBulkCopy可能正是您想要的.
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |