我无法使用WPF 4.0 DataGrid的添加功能自动将Entity Framework实体添加到ObjectContext的EntitySet。这是设置:
数据网格 - > BoundTo - >的ListCollectionView - > BoundTo - > EntitySet的
当我以交互方式向DataGrid添加行时,EntitySet没有添加新实体。但是,更新行的单元格数据实际上会更新绑定实体的属性。
知道我可能做错了吗?
这是ListCollectionView的XAML:
<CollectionViewSource x:Key="FieldList"
Source="{Binding DB.Fields}"
CollectionViewType="{x:Type data:ListCollectionView}">
<CollectionViewSource.SortDescriptions>
<ComponentModel:SortDescription PropertyName="Name" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
答案 0 :(得分:1)
您使用ListCollectionView
有什么特别的原因吗?您是如何创建ListCollectionView
的?
致电CollectionViewSource.GetDefaultView( ObjectQuery<> )
会产生BindingListCollectionView
。我刚刚运行了一些测试并调用IEditableCollectionView.AddNew()
和IEditableCollectionView.CommitNew()
按预期将实体添加到实体集中。
我建议您只需将ObjectContext
的{{1}}属性绑定到ObjectQuery<>
的{{1}},然后使用默认的集合视图,最终为您提供行为期望的。