EF5にコードファーストのエンティティモデルがあります。しかし、データベースの変更を手動で管理したいのですが、EFに既存のデータベースとそのすべてのデータを変更させたくありません。しかし、EFマッピングとデータベースで並行して変更を加えると、EFは適切に動作することを拒否し、コードファーストマイグレーションを使用する必要があると通知します。これをオフにするにはどうすればよいですか?
回答:
Database.SetInitializerをnullに設定します。
public class DatabaseContext: DbContext
{
    //the base accepts the name of the connection string provided in the web.config as a parameter
    public DatabaseContext()
        : base("DatabaseContext")
    {
        //disable initializer
        Database.SetInitializer<DatabaseContext>(null);
    }
__MigrationHistory、最新の移行がないという事実を無視したい場合に備えて、DbContextは移行を無視します。とにかくそれをしなさい。私の場合、開発環境で移行を使用しますが、本番環境にデプロイするときは、SSDTを使用してデータベースを更新します。したがって、EFは__MigrationHistory最新の移行がないためにモデルが変更されたと文句を言いますが、データベースが更新されることは保証できます。
                    Database.SetInitializerコンストラクターからクラスコンストラクターに移動することをお勧めします。これにより、呼び出しは1回だけ行われます。
                    だから私が見つけた最も完全な答えはこれです:
Migrationsプロジェクト内のフォルダを削除します。Database.SetInitializer<DatabaseContext>(null);DatabaseContext初期化子内に設定します。__MigrationHistoryデータベース内のテーブルを削除します。EF6 +の場合、テーブルはの下にありますTablesが、以前のバージョンの場合、テーブルはの下にありSystem Tablesます。__MigrationHistoryはアプリケーションが起動するたびに存在を確認するため、アプリの起動時間がさらに数ミリ秒長くなります。__MigrationHistoryチェックを完全に無効にする方法はありますか?
                    移行を完全にオフにしたい場合:
https://stackoverflow.com/a/9709407/141172
ただし、コードの最初の移行を有効にしておく方がよいと思いましたが、-Scriptオプションを使用して、各データベース(開発、QA、本番)に手動で適用できるDB変更スクリプトをEFに作成させます。
Update-Database -Script -ProjectName MyProject -StartupProjectName MyProject
そうすれば、EFが変更スクリプトを作成し、適用される変更を完全に制御できます。他のソースコードと同じように変更スクリプトをバージョン管理します。
completely turn off migrations。これを行うには:Database.SetInitializer<YourContextType>(null)アプリケーションの起動に追加します
                    すでに移行を使用している場合は、イニシャライザーのみを変更しても効果はありません。Management Studioに移動し、データベーステーブルを開き、System Tablesフォルダーに移動して、__MigrationHistoryそこにあるテーブルを削除する必要があります(EF6以降の場合は、すぐ下にありますTables)。これにより、移行が完全に無効になります。
System Tables。
                    sp_rename。初期化子も無効にしました。
                    私はこの「問題」を
私の環境の設定は次のとおりです
1. Visual Studio 2017 15.8.2
2. ASP NET MVC project
3. .NET Framework 4.6.1
4. Entity Framework 6.2.0
_MigrationHistoryテーブルが自動的に作成され  ますか?