NHibernate事件和生命周期的文档?

时间:2013-08-06 22:04:36

标签: c# events nhibernate

在哪里可以找到关于NHibernate事件的良好参考以及每个事件的生命周期是什么样的?似乎有几个事件,如果没有适当的文档,很难确定各种事件之间的差异。

当然有明显的问题,例如OnSaveOrUpdate - 但也有非显而易见的问题,例如ILoadEventListener vs IPreLoadEventListener vs IPostLoadEventListener

1 个答案:

答案 0 :(得分:3)

我所知道的唯一官方文件是:http://nhibernate.info/doc/nhibernate-reference/index.html

以下是本文档的摘录,描述了事件系统。您在上面提到的事件是基于Load界面中ISession方法的侦听器。

  

12.2. Event system

     

如果您必须对持久层中的特定事件做出反应,   您也可以使用NHibernate2事件架构。事件系统   可以作为拦截器的补充或替代使用。

     

基本上所有ISession接口的方法都与之相关   一个事件。你有一个LoadEvent,一个FlushEvent等(请参阅XML   完整的配置文件XSD或NHibernate.Event命名空间   已定义事件类型的列表)。当请求其中一个时   方法,ISession生成一个适当的事件并将其传递给   为该类型配置的事件侦听器。开箱即用,这些   侦听器实现与这些方法始终相同的处理   导致。但是,您可以自由地实现其中一个的自定义   监听器接口(即,LoadEvent由。处理)   在中注册实现ILoadEventListener接口)   在哪种情况下,他们的实施将负责处理   任何由ISession发出的Load()请求。

与任何开源工具一样,有时您只需要下载源代码并查看注释或代码本身。

除了查看代码之外,还有很多关于nhibernate的书籍,也可能对你有所帮助。

NHibernate 3.0 Cookbook http://www.packtpub.com/nhibernate-3-0-cookbook/book

NHibernate 3初学者指南http://www.packtpub.com/nhibernate-3-beginners-guide/book(我推荐这本书)

使用NHibernate 3.0 http://www.wrox.com/WileyCDA/WroxTitle/Working-with-NHibernate-3-0.productCd-1118112571.html