如何配置NHibernate设施?

如何配置NHibernate设施?,nhibernate,transactions,fluent-nhibernate,castle-windsor,castle,Nhibernate,Transactions,Fluent Nhibernate,Castle Windsor,Castle,我有一些与NHibernate的经验,我正试图开始与城堡NHibernate设施或城堡NHibernate融合。我想知道,在哪里可以找到一个演示项目,介绍如何在服务层(业务、类库项目)中配置和执行事务控制(带属性)?没有文档,我有一个很难找到的入门内容 我在网上找到了一些示例,但只是一些代码,而不是演示项目。。。我想下载一些东西来学习。我没有找到一个完整的解决方案,只有业务类(类库)中的配置和事务控制 很抱歉在这里出现这种情况,但我知道如何开始 谢谢大家! 如果您想看到温莎城堡与nHiberna

我有一些与NHibernate的经验,我正试图开始与城堡NHibernate设施或城堡NHibernate融合。我想知道,在哪里可以找到一个演示项目,介绍如何在服务层(业务、类库项目)中配置和执行事务控制(带属性)?没有文档,我有一个很难找到的入门内容

我在网上找到了一些示例,但只是一些代码,而不是演示项目。。。我想下载一些东西来学习。我没有找到一个完整的解决方案,只有业务类(类库)中的配置和事务控制

很抱歉在这里出现这种情况,但我知道如何开始


谢谢大家!

如果您想看到温莎城堡与nHibernate集成的完整示例,那么我想看看

夏普是一个“最佳实践”模板项目的尝试,利用了许多技术(包括Castle和nHibernate)。虽然它所做的某些事情可能不符合您的口味,但它将清楚地向您展示一种将所有内容整合在一起的方式

如果您想了解在较低级别上的情况,您可能需要在GitHub上查找源代码存储库,因为Sharp在模板项目中使用了自己的基类,这些基类是预编译的(尽管它仍然是开源的,因此您可以查看正在发生的情况)

当我把我的建筑组合起来的时候,这对我来说是一个无价的帮助,我可以诚实地说,Castle和nHibernate是一条路要走,所以你走的非常正确

编辑评论1:也许我在这里有点困惑。根据城堡的笔记

设施是集装箱延伸的主要方式。使用设施 您可以将容器与外部框架集成,如WCF或 NHibernate,为容器添加新功能,如事件连接, 事务支持。。。或到组件(同步、可启动 语义

据我所知,Nhibernate城堡设施和Nhibernate城堡整合都是设施,必须以集装箱为基础

如果希望在没有容器的情况下工作,那么需要使用某种形式的单例工厂来管理SessionFactory。这里有一个例子

就控制交易的属性而言,这就是夏普的表现(参见)。您可以重用此代码,并用自己的类似Singleton的代码替换NHibernateSession


您不需要实现UnitOfWork,因为nHibernate有效地为您实现了这一点。您真正需要的是一个体系结构,它允许您在单个控制点(单点)管理事务,并且在每个存储库中都可用

我不能使用IoC容器,我的项目不允许使用它。我需要在没有国际奥委会的情况下实现一些东西。你知道我如何做到这一点吗,我的意思是,只使用模式控制事务,我认为UnitOfWork模式会很好,但我不知道如何最好地实现它。非常感谢。