質問: エンティティフレームワークコアの移行を作成し、データベースを更新しました。 その後、別のクラスを追加した後、コマンドラインツールから同じ名前のクラスを作成した「update1」という2番目の移行を作成しました。ただし、データベースを更新しようとすると失敗します。ここに私が使ったコマンドがあります ``` dotnet ef migrations add update1 -c MyDbContext dotnet ef database update update1 -c MyDbContext ``` それは失敗した > 既にデータベースにMyTableという名前のオブジェクトがあります > > これは初期移行で作成されたテーブルです。 エラーを無視するか、またはupdate1の移行のみを実行するように指示するにはどうすればよいですか? **編集:**すでに存在していたテーブルを削除すると、この奇妙な動作が発生しなくなり、現在は期待どおりに動作します。 ありがとう
回答: 不要なマイグレーションを`__MigrationHistory`テーブルから削除する必要があります。その後、最新のマイグレーションを実行できます。これは、手動でテーブルを削除したために発生します.B'cos EFは手動操作について何も知らないため、 `__MigrationHistory`テーブル古い移行の詳細が存在する(つまり、手動で削除されたテーブルのレコード)。