NHibernate Contrib Best Practice

介绍

NHibernate Contrib(Burrow)是一个轻量级的开发中间件,底层使用Nhibernate 2.0GA(Nhibernate 2.0的.hbm.xml和1.2是兼容的) ORM技术框架实现。Burrow提供了智能化的状态,会话,使管理,事务让你更方便的使用Nhibernate进行.net应用程序的开发。

Burrow功能

  1. Burrow Conversation:可以很轻松的开发业务流程
  2. GenericDAO:尽可能少接触ISession(会话和事务)
  3. Stateful field attributes:它有助于UserControls记住实体或网页状态,而不会造成懒惰负载例外
  4. 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();

DEMO 


转载于:https://www.cnblogs.com/myssh/archive/2009/07/07/1518590.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值