2014-09-23 2 views
0

У меня есть DataGrid, связанный с CollectionViewSource, источник которого в DBSet.Local (ObservableCollection).Do Entities поддерживают события INotifyPropertyChanged?

Я обнаружил, что если я выполняю context.entry (c). Верните или измените значение свойства в Entity напрямую (не через DataGrid), обновленные значения не отражены в DataGrid, если только я CollectionViewSource.Refresh().

Это кажется странным. Изменения, которые я делаю в DataGrid, вносят его в Entity к тому времени, когда я контекст.SaveChanges. Но изменения, внесенные непосредственно в объект после начальной загрузки в DBSet, не отражаются в DataGrid, если я не обновляю CollectionViewSource.

ответ

0

DbContext, недавняя версия рамок сущности изначально не поддерживает INotifyPropertyChanged, так как они просто старые CLR объекты (POCO которые)

Вы должны будете готовить это в себе путем редактирования шаблонов T4, или использовать что-то вроде PostSharp реализовать его с помощью атрибутов.

Наконец, вы можете просто вернуть старый объект ObjectContext, но это не рекомендуется.

См. https://stackoverflow.com/a/25862085/474702

Смежные вопросы