该框架的使用从Configuration开始,无参构造函数调用Configuration(SettingsFactory),其中会调用InitBlock()和Reset()两个函数,并设置成员变量settingsFactory
获取配置需要两步:
第一步调用Configuration的实例方法Configure()加载*.cfg.xml配置:
其中涉及到CfgXmlHelper的CfgSectionName,IHibernateConfiguration接口
图1
图1中的代码就是Configure的实现代码
该无参Configure函数会使用应用根目录下的hibernate.cfg.xml配置
Configure(string fileName)函数,可以使用自定义的目录和名称的配置文件
另外还有Configure(Assembly assembly,string resourceName),Configure(XmlReader textReader)两个可以用来配置NHibernate的函数。
第二步加载*.hbm.xml配置
可以调用AddAssembly函数及其重载
AddAssembly(string assemblyName):参数为包含实体类型的程序集名称,该函数会加载全部实体映射的配置。
AddAssembly(Assembly assembly):参数为Assembly 类型实例,同样是加载全部的实体映射配置
还可以调用AddClass(string persistentClass):参数为持久类名称,单独的加载一个持久类型
经过这两步,NHibernate 的配置就加载完成