市场导向,技术为本

尘土十分归举子,乾坤大半属偷儿
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用EF4/5添加数据库视图生成DBContext,如果数据表/对象之间有M-N对应关系,EF对自动添加引用类集合,是Hashset类型。由于不是ObservableCellection类型,在引用类集合中添加新的对象后不能自动在DataGrid UI中自动刷新,有两种方法可以解决:

方法1. 修改Hashset为ObservableHashSet类型,这里的ObservableHashSet是自定义类,具体实现参看https://github.com/BellaCode/Public/tree/master/ObservableHashSetObservableHashSetOfT.cs实现;

方法2. 手动刷新DataGrid UI,比如<DataGrid>.Items.Refresh().

 

另一种可能是直接在DataGrid中添加新行DataRow,添加的数据是否会自动同步到Hashset中?没试过,试过的同学请回复是否可以。