我们在应用程序中运行迁移,以便即时创建数据库。我们还在单元/集成测试中使用迁移来为要使用的测试创建数据库。几个月前,我们注意到测试的运行时间大大增加,我们已经能够将其缩小到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的跟踪信息。
Configuration
TargetDatabase
属性DbMigrator
我们正在使用Entity Framework 6.1.3。还有其他人经历过这个吗?