Ich muss Entitäten mit dem gleichen Primärschlüssel Wert in einer einzigen Anfrage entfernen und hinzufügen, kann mir jemand die Lösung vorschlagen?Entity Framework: Entfernen und Hinzufügen von Entitäten mit demselben Schlüssel in einer einzigen Anfrage
Unten ist mein Beispielcode, der den Fehler gibt: Verletzung der PRIMARY KEY-Einschränkung 'PK_Table'. Kann doppelten Schlüssel in Objekt "Dbo.Table" nicht einfügen.
context.Set<Entity>().Attach(existingEntityObj);
Entry(existingEntityObj).State = EntityState.Deleted;
context.Set<Entity>().Add(newEntityObj);
context.Entry<Entity>(newEntityObj).State = EntityState.Added;
context.SaveChanges();
sei angenommen, sowohl die Objekte (existingEntityObj und newEntityObj) den gleichen Wert in der primären Schlüsseleigenschaft.
danke im voraus !!
Sie müssten die Primärschlüsseleinschränkung löschen, Ihre Entität entfernen, Ihre Entität hinzufügen und die Primärschlüsseleinschränkung wieder hinzufügen. Sie können jedoch keine Primärschlüsseleinschränkungen löschen, wenn sie von FKs referenziert werden. Was du machst, klingt nach einer schlechten Idee. Können Sie das vorhandene Objekt nicht einfach mit den Daten des neuen Objekts ändern? – Pakman