2010-12-05 54 views
0

我们目前在业务对象上使用了我们自己的“工作单元”功能,但正在考虑迁移到nHibernate以管理我们的所有数据库持久性。由于nHibernate管理自己的工作单元,有没有什么办法可以检查“脏”对象(何时刷新),以便我们可以编写对数据所做更改的历史记录。nHibernate - 追踪“脏”属性以记录历史记录

当然,如果事务对话很长,我们只关心比较属性的数据库值和持久化到数据库的新值,所做的任何中间变更,都不需要记录到数据库中。

有没有人有任何建议?

回答

1

当然,一个可能的选择是利用NHost监听器,如IPostUpdateEventListener(用于跟踪更新的实体) - 请看看this好文章,它描述了必要的部分。您甚至可以进一步扩展它以跟踪收藏或自定义输出等。