1

我在使用 WPF 4.0 DataGrid 的添加功能自动将实体框架实体添加到 ObjectContext 的 EntitySet 时遇到问题。这是设置:

DataGrid-->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>
4

1 回答 1

1

您使用 有什么特别的原因ListCollectionView吗?你是如何创建你的ListCollectionView

调用CollectionViewSource.GetDefaultView( ObjectQuery<> )产生一个BindingListCollectionView. 我刚刚运行了一些测试并按IEditableCollectionView.AddNew()预期IEditableCollectionView.CommitNew()将新实体添加到实体集。

我建议您只需将ObjectContext' 的ObjectQuery<>属性绑定到ItemsSourceaDataGrid并使用默认集合视图,最终为您提供您期望的行为。

于 2010-04-23T18:32:19.677 回答