使用Nhibernate维护表历史记录

时间:2014-08-30 15:56:35

标签: c# nhibernate fluent-nhibernate iinterceptor

我有一种情况需要维护表的历史。

例如:我有PaymentTransaction表,我想保留PaymentTransactionHistory用于审计目的。

我们在NHIbernate中有什么可以用来实现这一目标吗?我读到了关于IInterceptor和Events的内容,并且无法真正理解它们是否适用于我的情况。

我正在使用Fluent NHIbernate。

非常感谢

2 个答案:

答案 0 :(得分:1)

NHibernate Envers也可能是您的选择 - 但可能对您提到的用法有些过分。

答案 1 :(得分:0)

在我的项目中,这是由拦截器完成的,使用以下方法:

  • 删除某些内容后,请在OnDelete
  • 中处理
  • 当某些内容插入到数据库中时,请在OnSave中处理它
  • 当某些内容发生变化时,请在OnFlushDirty
  • 中处理
  • 还有其他一些处理集合的方法。

试试它们,并不难。