gpt4 book ai didi

nhibernate - 如何配置NHibernate Facilities?

转载 作者:行者123 更新时间:2023-12-03 09:53:22 25 4
gpt4 key购买 nike

我有一些使用 NHibernate 的经验,我正在尝试开始使用 CaSTLe Nhibernate Facilities 或 CaSTLe NhibernateIntegration。我想知道,在哪里可以找到如何在服务层(业务、类库项目)中配置和执行事务控制(带有属性)的演示项目?没有文档,我很难找到一些入门内容。

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

很抱歉在这里出现这种话题,但我确实知道如何开始。

谢谢!

最佳答案

如果您想查看 CaSTLe Windsor 与 nHibernate 集成的完整示例,那么我会查看 Sharp Architecture

Sharp 是对“最佳实践”模板项目的一次尝试,并利用了许多技术(包括 CaSTLe 和 nHibernate)。虽然它所做的某些事情可能不合您的口味,但它会清楚地向您展示一种可以将它们组合在一起的方式。

如果您想了解底层发生的事情,您可能需要搜索 GitHub 上的源存储库,因为 Sharp 在预编译的模板项目中使用它自己的基类(虽然它仍然是开源的)这样您就可以根据需要查看发生了什么)。

当我将我的架构组合在一起时,它对我来说是无价的帮助,我可以诚实地说,CaSTLe 和 nHibernate 是必经之路,所以你走在了正确的轨道上。

针对评论 1 进行编辑:也许我在这里有点困惑。据城堡笔记

Facilities are main way of extending the container. Using facilities you can integrate container with external framework, like WCF or NHibernate, add new capabilities to the container like event wiring, transaction support... or to components (synchronization, startable semantics...).

据我所知,CaSTLe Nhibernate Facilities 和 CaSTLe NhibernateIntegration 都是设施,必须基于容器。

如果您想在没有容器的情况下工作,那么您需要使用某种形式的 Singleton Factory 来管理 SessionFactory。有一个例子 here .

就控制事务的属性而言,这就是 Sharp 的做法(参见 here)。您可以重用此代码并将 NHibernateSession 替换为您自己的 Singleton,例如 theirs .

您不需要实现 UnitOfWork,因为 nHibernate 会有效地为您完成这项工作。您真正需要的是一种架构,它允许您在单个控制点 (Singleton) 管理事务,并且在每个存储库中都可用。

关于nhibernate - 如何配置NHibernate Facilities?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com