Beheben Sie den Fehler „Objekt existiert“ während der Datenbankaktualisierung in ASP.Net Core und Entity Framework Core
Beim Versuch, eine Datenbank über zu aktualisieren Wenn Sie die Befehlszeile verwenden, kann es zu einem Fehler kommen, wenn ein Objekt in der Datenbank bereits vorhanden ist. Dies tritt auf, wenn Sie eine Tabelle manuell aktualisieren, bevor Sie den Befehl „update-database“ ausführen.
Um dieses Problem zu beheben, folgen Sie der vorgeschlagenen Vorgehensweise:
1. Bearbeiten Sie die Migrationsdatei
Kommentieren Sie in Ihrer Migrationsdatei (nach oben oder unten) den gesamten Code in der Up()-Methode aus.
// Up() method // Comment out all code
2. Wenden Sie die Migration an
Führen Sie den folgenden Befehl aus, um die Migration anzuwenden:
dotnet ef migrations add "AddComments"
Dadurch wird eine Momentaufnahme des aktuellen Modellstatus erstellt.
3. Inkrementelle Modelländerungen rückgängig machen
Wenn Sie kürzlich inkrementelle Modelländerungen vorgenommen haben, entfernen Sie diese vorübergehend.
4. Basismigration hinzufügen
Basismigration anwenden:
dotnet ef database update
5. Inkrementelle Modelländerungen hinzufügen (optional)
Sobald die Basismigration erfolgreich ist, können Sie die inkrementellen Modelländerungen wieder hinzufügen und eine neue Migration erstellen.
Beispiel:
// 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. Führen Sie die Migration aus
Erstellen Sie die neue Migration und wenden Sie sie an, um die inkrementierten Modelländerungen einzuschließen:
dotnet ef migrations add "AddIncrementedChanges" dotnet ef database update
Durch Befolgen dieser Schritte können Sie Ihre Datenbank in ASP.Net Core erfolgreich aktualisieren und Entity Framework Core, wodurch der Fehler „Object Exists“ umgangen wird.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Objekt existiert' beim Aktualisieren einer Datenbank in ASP.NET Core mit Entity Framework Core?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!