ホームページ >データベース >mysql チュートリアル >EF Core で Update-Database を使用するときに発生する「オブジェクトはデータベースにすでに存在します」エラーを解決する方法は?

EF Core で Update-Database を使用するときに発生する「オブジェクトはデータベースにすでに存在します」エラーを解決する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-27 20:15:10395ブラウズ

How to Resolve

データベース更新エラー: オブジェクトはデータベースにすでに存在します

問題の説明:

試行中ASP.Net Core および Entity Framework Core で Update-Database コマンドを使用すると、次のようになります。同じ名前のオブジェクトがデータベースにすでに存在することを示すエラーです。

エラーの詳細:

There is already an object named 'ClientsAndTestimonials' in the database. System.Data.SqlClient.SqlException: 

解決策:

このエラーを解決するには、別のアプローチが考えられます。使用:

  1. 影響を受けるモデル変更の移行ファイル内の Up() メソッドをコメント アウトします。
  2. Update-Database コマンドを使用して移行を適用します。
  3. これにより、現在のモデル状態のベースライン スナップショットが確立されます。
  4. Up() メソッドからコメントを削除し、モデルを再度追加します。
  5. 新しい変更に対して 2 番目の移行を追加します。

注:

このアプローチは、Add-migration " を使用するのと同じです。 Reset" -IgnoreChanges は、EF Core の以前のバージョンでは使用できましたが、EF Core では直接サポートされていません。新しく作成されたベースライン移行により、後続の移行には、ベースラインより前に存在したオブジェクトに加えられた変更が含まれなくなります。

以上がEF Core で Update-Database を使用するときに発生する「オブジェクトはデータベースにすでに存在します」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。