NHibernate Contrib Best Practice
NHibernate Contrib Best Practice
介绍
NHibernate Contrib(Burrow)是一个轻量级的开发中间件,底层使用Nhibernate 2.0GA(Nhibernate 2.0的.hbm.xml和1.2是兼容的) ORM技术框架实现。Burrow提供了智能化的状态,会话,使管理,事务让你更方便的使用Nhibernate进行.net应用程序的开发。
Burrow功能
-
Burrow Conversation:可以很轻松的开发业务流程
-
GenericDAO:尽可能少接触ISession(会话和事务)
-
Stateful field attributes:它有助于UserControls记住实体或网页状态,而不会造成懒惰负载例外
-
Multiple databases support: 支持多个数据库变得更容易,你不需要SessionFactoryPath ,您只需提供一个实体型Burrow,Burrow将帮你找到合适的ISession。如果您使用的是GenericDAO ,多种数据库的支持是非常透明的-您的代码不需要知道有多个数据库
Burrow GetStarted
创建一个Burrow asp.net项目
添加web.config配置信息,读取配置和assembly
<configSections>
<section name="NHibernate.Burrow" type="NHibernate.Burrow.Configuration.NHibernateBurrowCfgSection" />
</configSections>
<NHibernate.Burrow >
<persistantUnits>
<add name="PersistenceUnit1" nh-config-file="hibernate.cfg.xml" />
</persistantUnits>
</NHibernate.Burrow>
添加HttpModule Setting 用于管理会话和事务
<httpModules>
<add name="NHibernate.Burrow.WebUtil.HttpModule"
type="NHibernate.Burrow.WebUtil.WebUtilHTTPModule,NHibernate.Burrow.WebUtil"/>
</httpModules>
维护hibernate.cfg.xml 实体数据库位置和实体类的程序集如果需要同时连接多个数据库之需要添加多个配置文件
<configSections>
<section name="NHibernate.Burrow" type="NHibernate.Burrow.Configuration.NHibernateBurrowCfgSection" />
</configSections>
<NHibernate.Burrow >
<persistantUnits>
<add name="PersistenceUnitDB1" nh-config-file="db1hibernate.cfg.xml" />
<add name="PersistenceUnitDB2" nh-config-file="db2hibernate.cfg.xml" />
</persistantUnits>
</NHibernate.Burrow>
使用ISession,如果你使用Burrow.AppBlock.GenericDAO 那么就不必关心会话和事务的控制
ISession sess = new BurrowFramework().GetSession(); //Gets the Burrow Managed NHibernate Session
如果不是一个asp.net运行环境,那么你需要调用BurrowFramework.InitWorkSpace to initialize
//call this at the beginning (only when not in ASP.NET)
new BurrowFramework.InitWorkSpace();//
//call this at the end (only when not in ASP.NET)
new BurrowFramework.CloseWorkSpace();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2007-02-24 sql数据库打包部署安装
2007-02-24 打包并自动安装sql数据库