EF4如何确定房产是否真的发生了变化?

时间:2010-12-03 05:56:27

标签: entity-framework-4

我需要一种方法来跟踪修改后的属性并对其进行审核。 我正在连接到SaveChanges,在那里我获得了修改后的属性

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

我注意到的是我正在使用带有codeGeneration的EF4,它会在未真正修改属性时报告。 如果属性EG“CustomerName”设置为“John”,当我进行更新时,我不会更改名称,但我这样做 EntityCustomer.Name = customerDto.Name和名称完全相同,它仍然报告为已更改。

我查看了生成的代码,无法查看EF属性是否像

那样进行检查

if(name == value)// propertyNotchanged dont raiseevent。

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

感谢

1 个答案:

答案 0 :(得分:1)

跟踪是在实体级别执行,而不是在属性级别执行 如果更改属性,更合适的方法是使用OnPropertyChanged partial method 只需创建一个包含已更改属性的自定义代码。