Wie kann ich eine Entität aktualisieren, ohne einen Anruf, um es auszuwählen machen zu müssen. Wenn ich den Schlüssel für die Entität bereitstelle, sollte sie nicht wissen, dass sie aktualisiert werden soll, nachdem SaveChanges() für den ObjectContext aufgerufen wurde.EF4 Aktualisierungsentität Ohne Ersten Ersten Entity
ich zur Zeit dies zu tun:
var user = context.Users.Single(u => u.Id == 2);
user.Username = "user.name";
user.Name = "ABC 123";
context.SaveChanges();
Das funktioniert, aber erzwingt eine Auswahl. Weil ich die Id
wissen, warum kann ich nicht etwas tun, wie folgt aus:
var user = new User();
user.Id = 2;
user.Username = "user.name";
user.Name = "ABC 123";
context.UpdateObject(user);
context.SaveChanges();
Vielen Dank im Voraus.
EDIT: Außerdem ist es wichtig, dass nur die betroffenen Eigenschaften, die aktualisiert werden geändert. Ist das möglich?
Das * aktualisiert * das Objekt in der Datenbank nicht wirklich. Es fügt es jedoch der Liste der Benutzer hinzu. – TheCloudlessSky
Aufruf 'context.ObjectStateManager.GetObjectStateEntry (Benutzer) .ChangeState (EntityState.Modified);' funktioniert das Update durchführen ... – TheCloudlessSky
Haben Sie die Eigenschaft Name nach ändern "context.Users.Attach (Benutzer);"? – user386740