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.