2012-02-08 6 views
0

私はDataContext.Refreshメソッドを持っているEntityFrameworkのObjectContextリフレッシュ問題

public ObservableCollection<Department> Departments 
    { 
     get 
     { 
      if (_departments == null && _entities != null) 
      { 
       _entities.Departments.Include("Drivers").ToArray(); 
       _departments = new EntityObservableCollection<Department>(_entities.Departments); 
      } 
      return _departments; 
     } 
    } 

私が見る私の更新レコード外のコンテキストはレコードのみを変更したが挿入され見ることができない場合や除去された。どうして?

答えて

0

Refreshは新しいレコードを検索しないためです。あなたがすでに持っているレコードをとり、現在の値で更新します。 ClientWins戦略を使用した場合は特に、削除されたレコードは処理されない可能性があります。

+0

ありがとうございます。しかし、挿入されたレコードと削除されたレコードをどうすれば処理できますか?多分それは現在の標準的なメカニズムですか? – Alex

+0

挿入されたレコードと削除されたレコードを処理する場合は、部門を再度取得するために使用されるクエリを実行し、 'MergeOption.OverwriteChanges'(' StoreWins'に相当)または 'MergeOption.PreserveChanges'(' 「ClientWins」)。 –

関連する問題