Ich habe viele Posts zum Speichern einer getrennten Entität in Entity Framework gelesen. Alle scheinen auf ältere Versionen von Entity Framework zutreffen. Sie verweisen auf Methoden wie ApplyCurrentValues und ChangeObjectState, die nicht zu existieren scheinen. Aus einer Laune heraus habe ich beschlossen, eine Methode zu versuchen, ich durch Intellisense gefunden und ich möchte sicherstellen, dass dies der richtige Weg ist, dies zu tun, da ich zu nicht sehen, was hinter den Kulissen passiert:Gespeicherte Entität in Entity Framework 6 speichern
public void SaveOrder(Order order)
{
using (VirtualWebEntities db = new VirtualWebEntities())
{
db.Orders.Attach(order);
db.Entry(order).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
}
}
Ist das die korrekte Weise, ein vorhandenes Einzelteil zu aktualisieren, das geändert wurde?
Dank. also ich möchte nur klarstellen .. es gibt nicht mehr ein Konzept von applycurrentvalues wie in früheren Versionen, wo Sie EF mitteilen könnten, welche Felder geändert wurden? – KingOfHypocrites
@KingOfHypocrites Sie können, ich habe meine Antwort bearbeitet. Ich schlage vor, die [EF6-Dokumentation] (http://msdn.microsoft.com/en-us/data/ee712907) durchzusehen, sie hat viele gute Beispiele und Erklärungen und ist sehr einfach geschrieben. –
Danke für den Link. Das einzige an Ihrem Beispiel ist, dass ich jede Eigenschaft manuell markieren müsste. Die alte Version hatte eine Methode zum Anwenden von Werten. Sie könnten das neue Objekt übernehmen und auf das alte anwenden. Dies würde automatisch alle geänderten Eigenschaften markieren, so dass es weiß, was beim Speichern aktualisiert werden muss. Ich suche immer noch nach einem Äquivalent. – KingOfHypocrites