EF Code First DbMigrator需要很长时间才能实例化

时间:2016-02-22 20:10:22

标签: c# entity-framework-6

我们在应用程序中运行迁移,以便即时创建数据库。我们还在单元/集成测试中使用迁移来为要使用的测试创建数据库。几个月前,我们注意到测试的运行时间大大增加,我们已经能够将其缩小到DbMigrator类的实例化。即使使用非常简单的Configuration类,创建DbMigrator仍需要大约10秒钟。

例如,这里的配置类取自"弹性数据库工具 - 实体框架"样本申请。

internal sealed class Configuration : DbMigrationsConfiguration<ElasticScaleContext<int>>
{
    public Configuration()
    {
        this.AutomaticMigrationsEnabled = false;
        this.ContextKey = "CodeFirstNewDatabaseSample.BloggingContext";
    }
}

以下是用于创建和运行迁移的代码。

var configurator = new Configuration();
configurator.TargetDatabase = new DbConnectionInfo(connStrBldr.ConnectionString, "System.Data.SqlClient");
var migrator = new DbMigrator(configurator);
migrator.Update();

这里是来自VS2015的跟踪信息。

enter image description here

  1. 实例化Configuration
  2. 的时间
  3. 设置TargetDatabase属性
  4. 的时间
  5. 实例化DbMigrator
  6. 的时间

    我们正在使用Entity Framework 6.1.3。还有其他人经历过这个吗?

0 个答案:

没有答案