5

什么是 NHibernate 拦截器,它在应用程序中的用途是什么?

另外,在本文中,我了解到使用 NHibernate 会使桌面应用程序在启动时变慢,因此为了避免这种情况,我需要将配置保存在一个文件中,然后从保存的文件中加载它。我怎样才能做到这一点?我在该教程中没有找到任何示例。

4

3 回答 3

9

拦截器允许您在实体被检索/删除/更新/插入数据库时​​执行附加功能......

拦截器文章

休眠文档

其他有用的信息

关于让你的应用程序变慢:我建议你只考虑优化启动时间,当它真的成为一个问题时。

当你建立一个会话工厂时,NHibernate 将解析所有的映射,这是一个有点昂贵的操作。但是,只要实体数量有限,性能影响就不会那么大。
由于启动时间很慢,我从来没有优化过 NHibernate 的初始化。

我建议你首先关注应用程序的核心——你试图解决的问题——然后看看如何提高启动性能。(如果你必须这样做)。

于 2010-01-09T16:32:31.663 回答
7

拦截器,就像名字本身所说的那样,允许您拦截 NHibernate 操作(保存/更新/删除/加载/刷新/等)。

一个更新的、更灵活的 API 是事件系统

关于序列化配置,代码就在那里,它Effectus.Infrastructure.BootStrapper是在应用程序启动时调用的类。

于 2010-01-10T00:58:24.407 回答
4

我写的拦截器解剖系列可以在这里找到 http://blog.scooletz.com/2011/02/03/nhibernate-interceptor-magic-tricks-pt-1/

希望能帮助到你

于 2012-02-19T16:27:45.197 回答