Entity Framework 6 に移行した後、ビルド サーバーで単体テストを実行するとエラーが発生します。
DropCreateDatabaseIfModelChanges
イニシャライザを使用しています。すべてに変更するとMigrateDatabaseToLatestVersion
機能しますが、以前の初期化子に固執したいと思います。
私が得ているエラーは次のとおりです。
System.InvalidOperationException: System.InvalidOperationException: データベースが作成されてから、'AppContext' コンテキストをサポートするモデルが変更されました。Code First Migrations を使用してデータベースを更新することを検討してください ( 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>