.NET / EF Core中的批量插入优化

时间:2017-01-01 02:24:41

标签: entity-framework asp.net-core

我有一些.NET Core代码可以使用随机样本数据对DB进行一些批量加载。

我在localhost上获得20次插入/秒,并希望提高我的性能。我正在做基本的事情,比如只调用一次_dbContext.SaveChanges()等等。

许多帖子如this表示可以通过操纵DbContext配置中的属性来获得收益,例如Configuration.AutoDetectChangesEnabledConfiguration.ValidateOnSaveEnabled

我的.NET Core MVC应用程序的DbContext是IdentityDbContext的子类,它不公开配置。

不确定我应该使用什么方法 - 我是否应该弄乱IdentityDbContext子类的配置属性?

或者,我应该为此使用单独的DbContext吗? (一些早期的研究表明,典型模式是webapp的单个DbContext)。

1 个答案:

答案 0 :(得分:2)

无需创建单独的DbContext课程,您可以关闭更改跟踪:

context.ChangeTracker.AutoDetectChangesEnabled = false;

或者你可以将它全局关闭:

public class MyContext : IdentityDbContext
{
   public MyContext()
    {
         ChangeTracker.AutoDetectChangesEnabled = false;
    }
}
相关问题