在开始正题前说一下关于NHibernate 程序集引用的问题,到底该引用几个,在我测试过程中,我扔掉了很多非NHibernate 的功能,剩下的只有一个NHibernate.dll,如果你的系统中不缺少要操作的数据库相关驱动的话,那么这一个dll就够了,在实际开发过程中,根据需要可以一点点的去加上即可!
实际上NHibernate 本身需要的配置参数是非常多的,当然这些不用全部都由我们亲自去配置,NHibernate的源码中已经给定了很多默认值。
Configuration: 从创建一个Configuration开始,用于获取加载配置,建立Configuration实例后需要加载mapping文件,官方文档中指出AddAssembly方法可能是最好的加载mapping 的方式,另两种方法可以参照官方文档。测试代码如下,其中ORM.NHibernate为程序集名称
ISessionFactory:配置获取成功后,应用必须通过一个ISessionFactory实例获取一个ISession实例,然后通过ISession与数据库进行交互。下面代码构建一个ISessionFactory实例:
该实例是全部线程共享的。
ISession:创建Session有两种方式,一种是用户提供数据库连接对象:
IDbConnection conn = myApp.GetOpenConnection();
ISession session = sessionFactory.OpenSession(conn);
一种是NHibernate提供:
ISession session = sessionFactory.OpenSession();
至此,可以通过session对数据库进行基本的访问!
(未完待续)