实体是否支持INotifyPropertyChanged事件?

时间:2014-09-23 19:10:40

标签: entity-framework

我有一个DataGrid,绑定到CollectionViewSource,其源代码在DBSet.Local(ObservableCollection)中。

我发现如果我执行context.entry(c).Reload或直接更改实体中属性的值(而不是通过DataGrid),更新的值不会反映在DataGrid中,除非我CollectionViewSource.Refresh()。

这看起来很奇怪。我在DataGrid中所做的更改会在context.SaveChanges时将其转换为实体。但是,在初始加载到DBSet之后直接对实体进行的更改不会反映到DataGrid,除非我刷新CollectionViewSource。

1 个答案:

答案 0 :(得分:0)

DBContext,最近版本的实体框架本身不支持INotifyPropertyChanged,因为它们是普通的旧clr对象(PO​​CO)

您必须通过编辑T4模板或使用PostSharp之类的东西来自己烹饪,以实现属性。

最后,您可以简单地恢复到旧的ObjectContext,但不建议这样做。

请参阅https://stackoverflow.com/a/25862085/474702