我有一个DataGrid,绑定到CollectionViewSource,其源代码在DBSet.Local(ObservableCollection)中。
我发现如果我执行context.entry(c).Reload或直接更改实体中属性的值(而不是通过DataGrid),更新的值不会反映在DataGrid中,除非我CollectionViewSource.Refresh()。
这看起来很奇怪。我在DataGrid中所做的更改会在context.SaveChanges时将其转换为实体。但是,在初始加载到DBSet之后直接对实体进行的更改不会反映到DataGrid,除非我刷新CollectionViewSource。
答案 0 :(得分:0)
DBContext,最近版本的实体框架本身不支持INotifyPropertyChanged,因为它们是普通的旧clr对象(POCO)
您必须通过编辑T4模板或使用PostSharp之类的东西来自己烹饪,以实现属性。
最后,您可以简单地恢复到旧的ObjectContext,但不建议这样做。