实体框架4中的DataGrid绑定未更新

问题描述

| 我正在使用Entity Framework 4 / WPF / C#。 “ 0”绑定到XAML中的WPF数据网格。这很好。但是,当我以编程方式创建一个新的Entity并将其添加到上下文中时,DataGrid保持不变。我应该怎么做才能更新DataGrid?     

解决方法

您不会看到更新,因为“ 1”正在构造期间从实体集中获取一次这些值。对该实体集的所有其他更改均未“观察到”。 只有对
ObservableCollection<T>.Add
的调用(等等)才会生成
CollectionChanged
事件。     ,正如sixlettervariables所说,您使用的构造函数将使用context.EntitySet值,并将它们全部添加到新的ObservableCollection中。添加您的context.EntitySet不会添加到重复的项目列表中。 您可以显示如何定义EntitySet吗?是否可以使其成为ObservableCollection并直接绑定到它?     ,我没有看到提到Silverlight的消息,所以我猜您没有使用RIA服务。 您如何将对象添加到上下文中? .AddTo {EntitySetName]() 或。{EntitySetNme} .Add() 如果您直接绑定到数据上下文,那么我相信后一种选择是您最好的选择。 就您个人而言,我会回避这一点,因为您的表示层正在直接与您的数据层对话。您应该在业务之间建立一个过渡(业务层),以处理将实体分别添加到UI绑定集合和持久性的过程。     ,很好;)数据网格应如何知道您在上下文中添加了一项?如果您将一个项目添加到可观察集合中,则只会通知datagrid。 因此,如果您根据上下文添加该项目,只需为您的collection属性调用OnPropertyChanged(\“ YourEntityCollectionPropertyHere \”)。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...