2011-01-13 11 views
0

エンティティフレームワーク4を使用して純粋なPOCOオブジェクトの更新を行うにはどうすればよいですか?エンティティフレームワークと純粋なPOCOの更新

が、私は人の最初の名前を変更すると言うと、このようにリポジトリを呼び出すことができます:

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; 
    } 

私は、null値がnullにデータベースを更新したいいけません。たとえば。プロパティとしてLastNameがあるとしますが、オブジェクトを更新関数に渡すとき、nullでした。元のユーザーを取得し、それに応じて各プロパティを更新する必要がありますか?

答えて

0
 "update each property accordingly?" 

いいえ、あなたは使用することができ、

 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. 

はまた、あなたがPOCOエンティティ

におけるトラッキングの変更に関する詳しい情報は、 this を読むことをお勧め
関連する問題