코드 우선, CTP5 데이터 컨텍스트가 있습니다. DataGrid에 WPF 앱이 있습니다. Entity Framework - 코드 우선, UI에서 업데이트되지 않는 DbSet.Local
dataGrid.DataContext = _context.Customers.Local;
그때 내가 그들에 대한 몇 가지 작업을 할
_context.Customers.Add(customer1); and so on
_context.SaveChanges();
그럼, 내가 다른 클래스에 이러한 고객 (고객의 목록)를 제공하여 몇 가지 요소를 추가 : 내가 좋아하는 자사의 DataContext를 설정합니다.
customerUpdater.Update(customers);
오랜 시간이 걸리며 작업하는 동안 각 고객의 속성을 업데이트합니다. 예 :
foreach(var customer in customers) { customer.Name = "updated name"; }
내 WPF UI에서 이러한 업데이트가 표시되지 않습니다. 내가 본 모든 것은 변경되지 않은 고객의 원래 목록입니다. Customers.Local은 ObservableCollection이므로 UI에서 업데이트가 표시되지 않는 이유를 알 수 없습니다.
속성 업데이트가 발생할 때마다 SaveChanges()를 호출하고 싶지는 않지만 거의 일정합니다. 누군가 이것이 왜 업데이트되지 않을지 말해 줄 수 있습니까?
좋아,에서 INotifyPropertyChanged의 상용구 코드를 방지 할 수있는 방법이 없다? 나는 모든 재산에 대해 모든 것을 쓰는 데 시간을 낭비하지 않을 것입니다. ObservableCollection의 요점은 INotifyPropertyChanged를 자동으로 구현하고 속성이 항목 중 하나에서 변경되면 알리는 것을 포함하여 모든 것을 처리한다는 것입니다. – Chad
observableCollection은 모든 유형의 항목을 보유 할 수 있으므로 가능한 각 클래스에 대해 속성이 변경 될 때마다 알림을 던져서는 안되며 (알림을 throw하는 일부 속성을 원하지 않을 수도 있음) 인터페이스를 구현하고 특히 속성이 변경 사항을 알릴 최적의 옵션을 선택하는 것이 좋습니다. –