要求是跟踪对实体所做的所有更改,跟踪它以了解谁做了这些更改,何时做了等等。例如,我有一个Person实体,并且用户更改了该人的姓名;我想把这些信息保存在某处。
最好的方法是什么?或者是否有现成的框架来实现这一目标。
我知道SQL 2008支持跟踪更改,但现在不是一个选项,因为我们的很多客户已经在使用SQL 2005。
企业库的日志记录应用程序块是否适合此要求?我已经检查了一下但是,我不知道如何使用它来跟踪谁做了,有什么价值变化,什么时候做了,等等。
我们正在为我们的应用程序使用C#和.NET框架。
答案 0 :(得分:1)
Standrad方式是使用来自INotifyPropertyChanging和INotifyPropertyChanged接口的事件。并为集合INotifyCollectionChanged。订阅此活动后,您可以随时随地存储信息。
如果您使用MSSQL,可以尝试Query Notifications
答案 1 :(得分:0)
某种AOP解决方案(如企业库中的解决方案)应该为您提供足够的可能性来创建这样的解决方案。
您可以订阅属性调用方法并记录信息。