2011-06-16 66 views
1

任何人都可以揭示这两者的区别吗? 我想使用第二个工具提供支持的流畅的Nhibernate。但我也希望使用http模块(SessionWebModule)开放会话视图支持,这似乎是驻留在第一个设施。它们是否兼容,我是否应该同时使用?城堡设施NHibernateIntegration vs城堡设施NHibernate

回答

1

我是NHibernate Facility的创建者和Castle.Transactions的提交者。 (不参与NHibernate集成工具)

我创建了NHibernate工具作为Windsor-facility-only类型的项目。它主要围绕每个交易的会话概念而不是每个请求的会话。但是,对于NHibernateFacility的c'tor,您可以传递一个枚举,使每个请求的默认生活方式会话

它们不兼容,正如您从版本号中看到的那样。 NHibernate Facility是全新的(但在生产中,因为它非常小)。另一方面NHibernate Integration是官方产品。

NHibernate Facility要求您使用目前为beta版的Transactions 3.0。 tx支持完全存在,但不包括事务性NTFS位。

我为自己的项目使用自己的NHibernate Facility,它工作得很好。因人而异。

+0

它看起来很棒(即Nhibernate设施)。我已经启动并运行了,明天再看看您的提示 – Konstantin 2011-06-16 16:41:00

+0

顺便说一下,每个请求的运行会话都需要做些什么吗?就像也许使用http模块启动一个事务? – Konstantin 2011-06-16 20:06:18

+0

只需将正确的枚举值传递给NHibernateFacility c'tor即可。事务将刷新ISession。 – Henrik 2011-06-16 21:02:45