0

(对不起,我的英语不好)

嘿,我需要记录数据库上发生的所有更改以进行审计。当我插入或删除实体时,这很容易,但是当我更新某些内容时,我需要保存已更改的属性以及从/到哪些值。我的域服务是 DbDomainService。如何获得更改?我是否需要访问数据库以查看旧值并自己进行比较?

4

1 回答 1

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

只要确保您不更改将对象附加回对象上下文的代码即可。

于 2012-02-27T19:30:56.103 回答