我目前正在将一些代码从Silverlight / WCF RIA服务转换为WPF / Entity Framework。代码库广泛使用了RIA域上下文的HasChanges属性。视图将绑定到此属性以确定按钮状态。例如,表单将绑定到此HasChanges
属性,每当用户在DomainContext
内更改任何实体的任何属性时,{ {1}}将变为true,Save和Discard按钮将变为启用状态。
在做了一些研究后,显然EF在HasChanges
上没有等效的HasChanges
属性。有没有人对如何在Entity Framework中复制这个功能有任何聪明的想法?
我认为这些将是这种财产的重要特征:
ObjectContext
属性会
无论什么财产,都会变得真实
任何加载到的实体
HasChanges
更改。ObjectContext
会变错
只要HasChanges
方法是
成功呼吁
SaveChanges
。ObjectContext
属性会抛出一个
HasChanges
事件哪个视图
会抓住以便更新
按钮状态/等。有人有什么想法吗?也许是自定义的ADO.NET EntityObject Generator?
答案 0 :(得分:0)
我有同样的问题。解决方案不太理想,但它的工作原理。另请注意,我在WPF应用程序中使用自我跟踪实体。
检查更改
using (var context = new MyEntities())
{
context.MyTable.ApplyChanges(myTableInstance);
return context.HasChanges();
}
即使对象图也适用。