配置NHibernate有三种常见的配置方法。
  1:在web.config,App.config里面配置


<?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- Add this element --> <configSections> <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" /> </configSections> <!-- Add this element --> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory> <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> <property name="connection.connection_string">Server=TLSZ207\SQLEXPRESS;initial catalog=Test;Integrated Security=true</property> </session-factory> </hibernate-configuration> <!-- Leave the system.web section unchanged --> <system.web> </system.web> </configuration>

则需要这样实例化Configuration对象。
  NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
  这种配置方法将会到应用程序配置文件(App.Config,Web.Config)中查找NHibernate的配置信息.

2:hibernate.cfg.xml
  建立名为hibernate.cfg.xml的文件。实例化Configuration config = new Configuration().Configure();这样NHibernate将会在目录下寻找hibernate.cfg.xml的配置文件。
  hibernate.cfg.xml的格式


<?xml version="1.0" encoding="utf-8" ?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.0" > <session-factory name="MySessionFactory"> <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> <property name="connection.connection_string">Server=TLSZ207\SQLEXPRESS;initial catalog=Test;Integrated Security=true</property> </session-factory> </hibernate-configuration>

指明配置文件
  Configuration config = new Configuration().Configure(configFileName);
  这种配置方法将查找指定的Hibernate标准配置文件,可以是绝对路径或者相对路径。还可以通过编码的方式来添加配置信息:
  IDictionary props = new Hashtable();
  props[“dialect”] = "NHibernate.Dialect.MsSql2005Dialect";
...
  Configuration cfg = new Configuration();
  cfg.Properties = props;//cfg.AddProperties(props);

映射文件:
  所有的XML映射都需要使用nhibernate-mapping-2.0 schema。目前的schema可以在NHibernate的资源路径或者是NHibernate.dll的嵌入资源(Embedded Resource)中找到。NHibernate总是会优先使用嵌入在资源中的schema文件。你可以将hibernate-mapping拷贝到C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\schemas\xml路径中,以获得智能感知功能。


<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Test" assembly="Test"> <class name="Test.Cat,Test" table="Cat"> <id name="CatID"> <column name="CatID" sql-type="char(32)" not-null="true"/> <generator class="uuid.hex" /> </id> <property name="Name"> <column name="Name" length="16" not-null="true" /> </property> <property name="Sex" /> <property name="Weight" /> </class> </hibernate-mapping>

转载于:https://www.cnblogs.com/millen/archive/2009/03/05/1404024.html

NHibernate学习之五:三种常见的配置方法。相关推荐

  1. 三种常见的特征选择方法

    特征选择 特征选择是特征工程里的一个重要问题,其目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行 ...

  2. NHibernate学习手记(3) - NH的配置信息

    作为一种通用的持久层框架,NH可以通过配置来指定所使用的数据库类型,并且可根据不同的数据库调整NH的运行参数.这些配置信息通常保存在配置文件中,当数据库配置发生改变时,我们只需要修改配置文件即可,不需 ...

  3. Sphinx 三种常见数据源配置

    MySQL 数据源: /usr/local/etc/sphinx.conf #配置source source blog { type = mysql sql_host = localhost sql_ ...

  4. 微信小程序学习之五种页面跳转方法.

    第一种:<navigator></navigator>标签. 这是最常见的一种跳转方式,相当于html里的a标签.但需要注意的是 该方法不能跳转tabbar页面. 格式为: & ...

  5. 三种常见的 Mac 安装 git 工具的方法

    目录 前言 正文 一.佛系法 二.brew 法 三.终极大法 结尾 前言 有时候新 Mac 本子需要安装 git 工具,或者原来的 git 工具损坏了,再或者需要升级 git 版本,都需要涉及重新安装 ...

  6. raid卡缓存对硬盘性能_服务器RAID配置方法大全

    说明 本文以浪潮服务器为例,适用于LSI芯片Raid卡,包括但不限于Inspur 2008/2108 Raid卡.LSI 9240/9260/9261/9271 等Raid卡. 不同型号的Raid卡在 ...

  7. java常见的ide_在三个Java IDE中生成的三种常见方法

    java常见的ide 在本文中,我研究了NetBeans 8.0.2 , IntelliJ IDEA 14.0.2和Eclipse Luna 4.4.1生成的三种"通用"方法[ e ...

  8. 在三个Java IDE中生成的三种常见方法

    在本文中,我研究了NetBeans 8.0.2 , IntelliJ IDEA 14.0.2和Eclipse Luna 4.4.1生成的三种"通用"方法[ equals(Objec ...

  9. xp系统蓝屏代码7b_遇到系统问题,三种常见处理方法你更pick谁

    使用恢复功能之前请务必备份好数据,一旦操作可能导致数据无法恢复!!!卡慢.蓝屏.进不去系统?系统出现故障了,是拜托朋友还是外出花钱?求人不如求己,遇到系统问题 , 三种常见处理方法你更pick谁? 0 ...

最新文章

  1. Markdown中数学公式整理
  2. pixelbook安装linux系统,谷歌Pixelbook可以运行Fuchsia操作系统 正测试
  3. Java IO: RandomAccessFile
  4. 英特尔推出锐炬Xe MAX独立显卡 可提升AI及视频编码速度
  5. 【guava】guava 11.0.2 版本 key 肯能丢数据的bug
  6. 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
  7. HDU 5136 Yue Fei's Battle
  8. 中南大学MATLAB变量专题/矩阵的建立1-3/4
  9. VS2005 工程在win7下使用管理员权限运行
  10. 首次公开专利并且专利数量最多公司(2022.07.25-2022.7.31)
  11. Qingdao Panda进阶之路
  12. 紫光华宇拼音输入法 6.1 正式版
  13. [已解决] idea插件下载不了
  14. 向量空间模型算法(Vector Space Model)
  15. 高增长神话破灭、巨头围剿“五环外”,拼多多的尽头是“拼夕夕”?
  16. 【安全】靶场实战-通过MS16-032提权
  17. ASUS华硕天选/天选2P/天选3P/飞行堡垒789/枪神/枪神2/枪神3/枪神4/枪神5P/枪神6P/幻14 FA506 FX506安装原厂Windows10系统原装Windows11出厂系统重装
  18. Java使用阿里云视频点播
  19. 使用LDO进行电压转换,24V转5V电路为什么中间要加一个中间电压做转化
  20. VN Studio环境的搭建

热门文章

  1. leetcode —— 75. 颜色分类
  2. 误删/var/lib/dpkg/info,文件解决方案(是否完全解决,不确定)
  3. 不同Linux主机下文件的拷贝
  4. lisp 图元 天正 自定义_C# 自定义autolisp 函数 研究
  5. 客服机器人代码_电脑问题不会解决?小白智能客服来帮你!
  6. java classifier_Java 朴素贝叶斯分类器、SVM(5行代码)实现乳腺癌分类
  7. mysql join buffer_MySQL cache之join buffer的优化
  8. linux打开二进制文件后终端乱码处理
  9. python随机选取0到100间的奇数_python random模块(随机数)详解
  10. xposed hook 静态函数_开源Hook框架-epic-实现浅析