我在项目中使用NHibernate,我需要进行数据审计.我在codeproject上找到了这篇文章,讨论了IInterceptor接口.
您首选的审核数据方式是什么?你使用数据库触发器吗?你是否使用类似于文章中讨论的内容?
对于NHibernate 2.0,您还应该查看事件监听器.这些是IInterceptor接口的演变,我们成功地将它们用于审计.
[编辑]
发布NH2.0后,请按照下面的建议查看事件监听器.我的回答已经过时了.
IInterceptor是以非侵入方式修改nhibernate中任何数据的推荐方法.它对于解密/加密数据也很有用,无需您的应用程序代码需要知道.
数据库上的触发器将日志记录(应用程序问题)的责任转移到DBMS层,从而有效地将您的日志记录解决方案与数据库平台联系起来.通过将审计机制封装在持久层中,您可以保留平台独立性和代码可传输性.
我在生产代码中使用拦截器来在几个大型系统中提供审计.