データベース内にオブジェクトが存在するため、EF Core のデータベースの更新が失敗します
Entity Framework Core を使用している ASP.Net Core で、更新を試行しています同じ名前のオブジェクトがデータベースにすでに存在することを示すエラーが発生し、データベースが失敗する場合があります。このエラーは、コマンド ラインを使用してデータベースを更新した後にデータベースを手動で更新した場合に発生します。
一般的に推奨される解決策は、John が概説したように、「Add-migration 'Reset' -IgnoreChanges」コマンドを使用することです。サレフスキー。ただし、EF Core に -IgnoreChanges パラメーターがないため、このアプローチは失敗する可能性があります。
解決策:
この問題を解決するには、次の手順に従います。
コメントアウトアップ()メソッド:
を適用します移行:
次のコマンドを実行します。
Add-Migration Initialization Update-Database
この手順では、現在のデータベースの状態。今後の移行には、このベースラインの後に加えられた変更のみが含まれます。
変更を元に戻す:
Up() メソッドをコメントアウトすることで、EF Core は現在のデータベース スキーマを保持し、既存のオブジェクトとの競合を回避します。ベースライン移行が適用されると、後続の移行で新しい変更を安全に導入できるため、シームレスな更新プロセスが確保されます。
以上が既存のデータベース オブジェクトが原因で EF Core の「Update-Database」が失敗するのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。