質問: すべての移行ファイルを1つにマージすることは可能ですか? 初期移行を作成しました。 ``` dotnet ef migrations add InitialMigration ``` ソース モデルを変更したら、新しい移行アップデートを作成します。 しかし今、私はあまりにも多くの移行アップデートファイルを持っています。すべての移行ファイルを1つにマージすることはできますか? もちろん、ドロップデータベースはオプションではありません、データを保存する必要があります
回答: EF 6.Xは、オプションがある`IgnoreChanges` 。それはあなたのシナリオにぴったりです。しかし残念ながら、これはEFコアで利用可能な機能ではありません。 しかし、回避策があります。 **手順1:** [移行]フォルダ内のすべての移行スクリプトを削除します。 **ステップ2:**パッケージマネージャコンソールで次のコマンドを実行します。 ``` PM> Add-Migration InitialCreate ``` **ステップ3:** `Up()` `Down()`メソッドと`Down()`メソッドの両方のコードを削除します。これを行う前に、手順5で再度必要になるので、これらのメソッドを別の場所に保存しておきます。 **ステップ4** : ``` PM> Update-Database ``` 新しいレコードを`__EFMigrationsHistory`テーブルに挿入します。 **ステップ5:**その後、 **ステップ3の**安全な場所に保管されているコンテンツから、上記の移行スクリプトの(つまり`.._InitialCreate` ) `Up()` `Down()`メソッドと`Down()`メソッドを入力します。 それだ。今、あなたは1つの移行ファイルしか持っていません:) **注:**パッケージマネージャコンソール(PM)を備えたEFコア: **パッケージマネージャコンソール**