迁移到 Entity Framework 6 后,在构建服务器上执行单元测试时出现错误。
我正在使用DropCreateDatabaseIfModelChanges
初始化程序。当我将其更改为MigrateDatabaseToLatestVersion
一切正常时,但我想坚持使用以前的初始化程序。
我得到的错误是:
System.InvalidOperationException:System.InvalidOperationException:支持“AppContext”上下文的模型自创建数据库以来已更改。考虑使用 Code First 迁移来更新数据库 ( http://go.microsoft.com/fwlink/?LinkId=238269 )..
这是正确的,它改变了,但是使用DropCreateDatabaseIfModelChanges
初始化器,它应该被重新创建。有任何想法吗?
EF 在 App.config 中配置。这是相关部分:
<connectionStrings>
<add name="AppContext" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=my.app.unittest;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<contexts>
<context type="my.app.core.Data.AppContext, my.app.core">
<databaseInitializer type="System.Data.Entity.DropCreateDatabaseIfModelChanges`1[[my.app.core.Data.AppContext, my.app.core]], EntityFramework" />
</context>
</contexts>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>