2012-02-08 2 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'). –