私は、Entity Framework 6を使用してASP.NETアプリケーションを継承し、移行を有効にしました。私のGlobal.asaxでは、私はこれがあります。ASP.NETのMigrateDatabaseToLatestVersionのパフォーマンス
using (var context = new MyContext())
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, MyConfiguration>());
context.Database.Initialize(true);
}
を問題は、私のアプリケーションは、(例えば、それをシャットダウンするため、IISに)起動する必要がありますたびに、このロジックは、ほとんどの場合にもかかわらず、実行されていることです実行するマイグレーションはありません。これにより、要求の処理が大幅に遅くなります。
ここには何がありますか?ベストプラクティスとは何ですか?これを無効にして、手動で移行を実行するためにPackage Manager Consoleを使用することもできますが、そのような目的に勝るものです(ただし、他のオプションがない場合は、これを行う準備ができています)。
EFコアで自動移行が削除されました(ここではいくつかの[推論](http://www.bricelam.net/2014/12/16/ef7-migrations-designtime.html))ので、手動で移行を実行することです。 –
@IvanStoevあなたが回答としてあなたのコメントを追加した場合、私はそれを正しい回答としてマークします。 – Peter