質問

データストアからすべてのダーティーエンティティを更新し、変更された値を元のストア値にリセットする方法

ObjectContext.Refreshメソッドは、パラメータとして更新するエンティティを必要とします。

受け入れられた回答

以下は通常うまくいきます:

Context.Refresh(RefreshMode.StoreWins, _
    Context.ObjectStateManager.GetObjectStateEntries())

それは時々EntityRelationsの問題を引き起こします。詳細については私のコメントを見てください。


人気のある回答

このコードを使うことができます:

public void RefreshAll()
{
     // Get all objects in statemanager with entityKey 
     // (context.Refresh will throw an exception otherwise) 
     var refreshableObjects = (from entry in context.ObjectStateManager.GetObjectStateEntries(
                                                 EntityState.Deleted 
                                               | EntityState.Modified 
                                               | EntityState.Unchanged)
                                      where entry.EntityKey != null
                                      select entry.Entity);

     context.Refresh(RefreshMode.StoreWins, refreshableObjects);
}

RefreshAll()を実行してコンテキストを他の方法で更新する方法について投稿しました。

http://christianarg.wordpress.com/2013/06/13/entityframework-refreshall-loaded-entities-from-database/



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ