Die Aktualisierung der EF Core-Datenbank schlägt aufgrund eines vorhandenen Objekts in der Datenbank fehl.
In ASP.Net Core mit Entity Framework Core wird versucht, eine Aktualisierung durchzuführen Die Datenbank schlägt möglicherweise mit einem Fehler fehl, der darauf hinweist, dass in der Datenbank bereits ein Objekt mit demselben Namen vorhanden ist. Dieser Fehler tritt auf, wenn manuelle Aktualisierungen an der Datenbank vorgenommen wurden, nachdem sie über die Befehlszeile aktualisiert wurden.
Die häufig vorgeschlagene Lösung besteht darin, den Befehl „Add-migration ‚Reset‘ -IgnoreChanges“ zu verwenden, wie von John beschrieben Salewski. Dieser Ansatz kann jedoch aufgrund des Fehlens des Parameters „-IgnoreChanges“ in EF Core fehlschlagen.
Lösung:
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
Nach oben kommentieren() Methode:
Wenden Sie das an Migration:
Führen Sie den folgenden Befehl aus:
Add-Migration Initialization Update-Database
Dieser Vorgang erstellt einen Schnappschuss von aktueller Datenbankstatus. Zukünftige Migrationen umfassen nur Änderungen, die nach dieser Baseline vorgenommen wurden.
Änderungen zurück hinzufügen:
Durch das Auskommentieren der Up()-Methode behält EF Core das aktuelle Datenbankschema bei und vermeidet Konflikte mit vorhandenen Objekten. Sobald die Basismigration angewendet wurde, können nachfolgende Migrationen sicher neue Änderungen einführen und so einen nahtlosen Aktualisierungsprozess gewährleisten.
Das obige ist der detaillierte Inhalt vonWarum schlägt „Update-Database' von EF Core aufgrund vorhandener Datenbankobjekte fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!