如何在实体框架中分配上下文并刷新它?

时间:2011-11-03 08:22:36

标签: wpf entity-framework

我创建了一个新的实体对象,并将其绑定到另一个窗口(编辑窗口)中的控件。修改并保存后,我将一个新的实体对象分配到主窗口中。旧实体对象绑定到数据网格中,现在我希望数据网格显示我修改和保存的数据。

ObjectContext.Refresh Method (RefreshMode, Object)似乎是我想要的,但我不知道如何正确使用它。

简而言之:
我有一个主窗口,datagrid显示表的整个数据。用户可以选择一行并在编辑窗口中进行编辑。保存后,数据网格应显示已修改的内容。

1 个答案:

答案 0 :(得分:1)

这里最好的选择是使用ObservableCollection作为数据网格的数据源而不是查询。

并查看在INotifyPropertyChanged课程中实施Customer界面。

ObservableCollection最初由数据库查询填充。用户更改ObservableCollection中的元素,一旦完成,您只需触发将更改传输到最初获取Customer对象列表的位置

通过这样做,对Customers集合和各个Customer对象(如果存在于datagrid中)的更改将自动为您更新。

修改

我必须承认,我现在有点急于提供任何代码,但here's这是一篇很好的文章,解释了如何使用ObservableCollections和实现{{1}的类}。它也有代码示例,虽然在VB.NET中应该给你足够的想法来开始。

实际上,您将代码分成不同的图层UI(视图),业务逻辑(视图模型)和数据层(实体框架所在的模型)。

您将datagrid绑定到Customers类中的ObservableCollection类型属性,并且您的edit csutomer窗口将绑定到Customer类的实例。