2011-01-13 8 views
0

Wie mache ich ein Update auf ein reines POCO-Objekt mit Entity Framework 4?Entity-Framework und reines POCO-Update

Lets sagen, dass ich die Person, die ersten Namen zu ändern und das Repository auf diese Weise nennen:

public User Update(User user) 
    { 
     //User originalUser = GetUser(user.UserId); 

     //Is there a way to update the values that are only changed? 

     context.Users.Attach(user); 
     context.ObjectStateManager.ChangeObjectState(user, EntityState.Modified); 
     return user; 
    } 

ich nicht NULL-Werte wollen, dass die Datenbank aktualisieren auf null. Für z. Angenommen, ich habe LastName als Eigenschaft, aber wenn das Objekt an die Update-Funktion übergeben wurde, war es null. Muss ich den OriginalUser erhalten und dann jede Eigenschaft entsprechend aktualisieren?

Antwort

0
 "update each property accordingly?" 

Nein, können Sie verwenden

 context.ObjectStateManager.TryGetObjectStateEntry(newItem, out entity); 

     // this will gives you the entity present in db and after that I suggest to write your code to change the state and save. 

vorschlagen, dass Sie sich auch this für weitere Informationen über das Nachverfolgen von Änderungen in POCO Einheiten lesen