获取EF 4.2 Code Only上已更改属性的列表

时间:2012-02-27 10:48:50

标签: entity-framework entity-framework-4 wcf-ria-services ef4-code-only

(抱歉我的英语不好)

嘿,我需要记录我的数据库上发生的所有更改,以便进行审计。当我插入或删除一个实体时,它很容易,但是当我更新某些内容时,我需要保存已更改的属性以及从/到哪些值。我的域服务是DbDomainService。我怎样才能得到改变?我是否需要点击数据库才能查看旧值并自行比较?

1 个答案:

答案 0 :(得分:0)

有更优雅的方法可以做到这一点(例如使用Aspect编码技术),但我有一个孤立的案例,我这样做了。对于允许更新发生的每个实体,这是服务器端的WCF RIA服务的标准更新。

public void UpdatePackingSlip(PackingSlip currentPackingSlip)
{

  var BeforeUpdate_PackingSlip = this.ChangeSet.GetOriginal(currentPackingSlip);
  //at this point you can compare the original values from the updated values, and capture
  // whatever you want todo

请确保不要更改将对象附加回的代码 对象上下文。