遷移到Entity Framework 6後,在構建服務器上執行單元測試時出現錯誤。DropCreateDatabaseIfModelChanges EF6導致System.InvalidOperationException:支持上下文的模型已更改
我正在使用DropCreateDatabaseIfModelChanges
初始值設定項。當我將其更改爲MigrateDatabaseToLatestVersion
一切正常時,但我想堅持使用前者的初始化程序。
我得到的錯誤是:
System.InvalidOperationException信息:System.InvalidOperationException: 自 數據庫創建模型靠山 'AppContext' 已經時過境遷。考慮使用代碼首先遷移到更新 數據庫(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>
編寫數據庫配置的代碼以及如何初始化數據庫。 –
我更新了配置信息的問題。希望它已經足夠了 – Chris
如果您將其更改爲DropCreateDatabaseAlways其工作? –