Objekte des Entity-Frameworks aktualisieren

entity entity-framework

Frage

Ich übertrage Daten zwischen dem Entitätsframework und der Business-Schicht und der Benutzerebene mithilfe von Datenübertragungsobjekten. Ich habe einige Zweifel, wenn ich ein Objekt abrufe, das in ein DTO konvertiert wird. Wie kann ich das richtige Objekt im Entity-Framework aktualisieren und nicht nur ein Duplikat einfügen?

Beliebte Antwort

Mit dem folgenden Code wird eine EF 4-Entität, die in MVC als Steuerparameter erstellt wurde, aus einer stark typisierten Ansicht aktualisiert:

Der Trick scheint der Trick zu sein, den ObjectStateManager zu verwenden, um den Status von Add to Modified zu ändern, sobald die Entität dem Kontext hinzugefügt wurde.

MyEntities db = new MyEntities();
db.Product.AddObject(product);
db.ObjectStateManager.ChangeObjectState(product, System.Data.EntityState.Modified);
return db.SaveChanges() > 0;

Als Kommentar von @Sean Mills, wenn Sie EF5 verwenden, verwenden Sie:

 ((IObjectContextAdapter) db).ObjectContext.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Added);


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum