使用Nhibernate维护表历史记录

本文关键字:历史 记录 维护 Nhibernate 使用 | 更新日期: 2023-09-27 18:20:01

我有一种情况,我必须维护表的历史记录。

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

我们在NHIbernate有什么可以用来实现这一点的吗。我读过IInterceptor和Events,不知道它们在我的情况下是否有用。

我正在使用Fluent NHIbernate。

非常感谢

使用Nhibernate维护表历史记录

NHibernate Envers也可能是您的一个选项,但对于您提到的用法来说,可能有些过头了。

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

  • 当某些内容被删除时,请在OnDelete中进行处理
  • 当有东西插入数据库时,在OnSave中进行处理
  • 当某些内容发生更改时,请在OnFlushDirty中进行处理
  • 还有一些其他处理收集的方法

试试它们,并不难。