Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich im Entity Framework die Fehlermeldung „Kann keinen expliziten Wert für die Identitätsspalte einfügen'?
Verstehen des Fehlers „Expliziter Wert für Identitätsspalte kann nicht eingefügt werden“ im Entity Framework
Fehler:
Der Der Fehler „Kann keinen expliziten Wert für Identitätsspalte in Tabelle einfügen“ tritt auf, wenn versucht wird, einen Wert in eine Identitätsspalte einzufügen (Spalten automatisch inkrementieren), während die Die Datenbankoption IDENTITY_INSERT ist auf OFF gesetzt.
Ursache:
Dieser Fehler weist darauf hin, dass Entity Framework versucht, einen bestimmten Wert für eine Identitätsspalte einzufügen, was in der Datenbank nicht zulässig ist verwaltet den Wert Generation.
Lösung:
Datenbank und EF-Modell prüfen:
EDMX-Datei aktualisieren (Entity Data Model):
Prüfen Sie auf das Attribut „IsDbGenerated“:
Automatisch generierte Werte im Code deaktivieren:
Codebeispiel:
GroupMember groupMember = new GroupMember(); groupMember.GroupId = group.Id; groupMember.UserId = new UserId(group.Owner); // Remove this line, as it manually assigns an ID // groupMember.Id = _groupContext.GroupMembers.Count(); group.GroupMembers.Add(groupMember);
Wenn Sie diese Schritte ausführen, tritt der Fehler auf sollte behoben werden, und Entity Framework fügt basierend auf der Datenbankkonfiguration korrekt Werte in die Identitätsspalte ein.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich im Entity Framework die Fehlermeldung „Kann keinen expliziten Wert für die Identitätsspalte einfügen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!