程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> NHibernate的ISessionFactory的配置

NHibernate的ISessionFactory的配置

編輯:關於.NET

1.NHibernate.Cfg.Configuration的一個實例代表了應用程序中所有的.NET類到SQL數據庫的映射集合,用於構造一個

(不可變的)ISessionFactory,這些映射是從一寫XML映射文件中編譯得來.

方法一:直接便宜XML文件得來

Configuration cfg=new Configuration()

.AddXmlFile("name1.hbm.xml")

.AddXmlFile("name2.hbm.xml");

方法二:通過NHibernate自行用GetManifestResourceStream()來裝載映射文件.

Configuration cfg=new Configuration()

.AddClass(typeof(name1))

.AddClass(typeof(name2));

方法三:讀取程序集中所以的映射配置文件

如有配置文件:NHibernateDemo.name1.hbm.xml,NHibernateDemo.name2.hbm.xml

Configuration cfb=new Configuration()

.AddAssembly("a");

通過這樣的方式NHibernate將會遍歷整個程序集查找任何以hbm.xml結尾的文件.取消了對文件名的硬編碼,確保程序集

中的配置文件都會被加載.

注意:Configuration只在配置期使用的對象,從第一個ISessionFactory開始建立時就會失效.

2.獲取ISessionFactory

ISessionFactory sessions=cfg.BuildSessionFactory();

該工廠被應用程序所以線程共享,並可實例化多個ISessionFactory.

3.自行提供ADO.NET連接

IDbConnection conn=new myapp.GetOpenConnection();

ISession session=sessions.OpenSession(conn);

注意:不能在同一個連接上打開兩個並行的ISession.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved