Warum falle ich in alle Hürden für ein einfaches Update in EF?

8

Ich habe einen Ausweis bei mir und ich habe einen Namen bei mir. Also im Wesentlichen hat meine Methode nur diese Parameter:

%Vor%

und ich habe dieses Stück Logik in der Methode:

%Vor%

Das ist es. Nichts Außergewöhnliches. Ich erhalte diesen Fehler: "An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key"

und diese Antwort von Ladislav Mrnka: Ein Objekt mit demselben Schlüssel existiert bereits im ObjectStateManager. Der ObjectStateManager kann mehrere Objekte mit demselben Schlüssel nicht verfolgen

schlägt vor, context.Entry(oldEntity).CurrentValues.SetValues(newEntity); zu verwenden, aber ich habe nicht wirklich alteEnergie mit mir. Kann mir bitte jemand einfach sagen, wie aktualisiere ich nur 1 Eigenschaft des Users? Ich werde verrückt.

    
Jack 06.08.2012, 16:40
quelle

1 Antwort

6
  

Ich erstelle nur einmal pro Anfrage, sobald ich erstellt habe ich es innen speichern   HttpContext.Items. Also auch wenn ich mehrfache Anfragen an die DB mache   verwendet denselben DbContext. Hilft das?

Wenn eine dieser "Mehrfachanfragen an die Datenbank" Benutzer mit derselben ID lädt, erhalten Sie diese Ausnahme. Versuchen Sie Folgendes:

%Vor%

Der Code versucht zunächst, Benutzerinstanzen von bereits geladenen Entitäten abzurufen (keine Abfrage in die Datenbank) und erstellt nur dann eine neue Instanz, wenn der Benutzer noch nicht geladen wurde.

    
Ladislav Mrnka 06.08.2012, 17:26
quelle