MVC3做审计跟踪

时间:2011-07-12 02:14:46

标签: asp.net-mvc-3

我在桌子上做一个审计跟踪说客户表

Customer c1=new Customer(){name="customer1" ,job="IT",city="USA"};

说我是否正在对客户表进行更新,我正在将客户城市更新为加拿大

c1.city="CANADA";

所以我要做的就是在表格中审核这个,

  • CustomerID 1

  • fieldname city

  • oldvalue USA

  • Newvalue CANADA

依此类推....更新任何字段。

我的问题是,我说我不仅仅有菲尔兹,我该如何实现呢?

如何比较旧记录与更新记录以检查哪个字段已更改。如何在记录表中捕获已更改的字段并保存它们

2 个答案:

答案 0 :(得分:1)

我不会。使用数据库触发器,以便无论何时在相关表上运行UPDATE,都会捕获更新前行的状态并将其放入审计表中。

答案 1 :(得分:0)

我过去所做的是使用存储过程来处理数据事务。在存储过程中,我会在更新目标表之前将要更改的行插入到审计表中。但是,审计表并不是最容易阅读的,因为每次用户单击保存按钮时,它都会创建一个审计记录,但是它比准确地比较每一行值更准确,代码/复杂程度要低得多。 “改变了。对于我们必须进入审计跟踪的次数,不值得进行列级别比较的额外工作。我们的审计试验更多的是捕获已更改的数据,以便我们可以在需要时将其还原,尽管我们捕获了谁以及何时也是。