2010-12-03 70 views
0

我需要一种方式来跟踪修改后的属性并进行审核。 我钩住的SaveChanges在那里我得到了修改后的属性EF4如何确定房产是否真的发生了变化?

//Get only Modified Customer entries 
    var modifiedCustomerOses = context.ObjectStateManager 
    .GetObjectStateEntries<Customer>(EntityState.Modified) 
    .ToList(); 

我已经注意到,我使用EF4与codeGeneration,当作为修改的属性不会真的改变了它的报告。 如果属性EG“CustomerName”设置为“John”,并且当我进行更新时,我不更改名称,但我做了 EntityCustomer.Name = customerDto.Name,并且名称完全相同,但仍报告为已更改。

我看过生成的代码并不能看到,如果财产EF喜欢做

一个检查,如果(名称==值)// propertyNotchanged不要的RaiseEvent。

有什么建议吗?你知道EF4如何确定房产是否真的发生了变化?

感谢

回答

1

跟踪是在实体层面进行,而不是在性能水平。
更新跟踪属性是否更改的方法是使用OnPropertyChanged partial method
只需创建一个自定义代码来保存更改的属性。

+0

我以为会是这样的。谢谢 – user9969 2010-12-03 16:34:15

相关问题