ASP.Net Core および Entity Framework Core でのデータベース更新中の「オブジェクトが存在します」エラーを解決する
経由でデータベースを更新しようとしたときコマンド ラインでは、データベース内のオブジェクトが既に存在する場合にエラーが発生する可能性があります。この問題は、update-database コマンドを実行する前にテーブルを手動で更新すると発生します。
この問題を解決するには、推奨されるアプローチに従ってください。
1.移行ファイルを編集します
移行ファイル (上または下) で、Up() メソッド内のすべてのコードをコメント アウトします。
// Up() method // Comment out all code
2.移行を適用します
次のコマンドを実行して移行を適用します。
dotnet ef migrations add "AddComments"
これにより、現在のモデル状態のスナップショットが作成されます。
3.増分モデル変更を元に戻す
最近増分モデル変更を行った場合は、それらを一時的に削除します。
4.ベースライン移行の追加
ベースライン移行を適用します:
dotnet ef database update
5.増分モデル変更の追加 (オプション)
ベースライン移行が成功したら、増分モデル変更を追加し直し、新しい移行を作成できます。
例:
// Sample migration file public partial class AddComments : Migration { protected override void Up(MigrationBuilder migrationBuilder) { // Comment out all code } protected override void Down(MigrationBuilder migrationBuilder) { // Comment out all code } }
6.移行を実行します
新しい移行を作成して適用し、増分されたモデル変更を含めます:
dotnet ef migrations add "AddIncrementedChanges" dotnet ef database update
次の手順に従うことで、ASP.Net Core でデータベースを正常に更新できます。および Entity Framework Core、「オブジェクトが存在します」エラーを回避します。
以上がEntity Framework Core を使用して ASP.NET Core のデータベースを更新するときに発生する「オブジェクトが存在します」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。