博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NHibernate.3.0.Cookbook第二章第3节的翻译
阅读量:5060 次
发布时间:2019-06-12

本文共 1773 字,大约阅读时间需要 5 分钟。

Configuring NHibernate with hibernate.cfg.xml

使用hibernate.cfg.xml配置NHibernate

  配置NHibernate的另一个常用方法是使用一个单独的XML配置文件.本节将介绍如何使用hibernate.cfg.xml来实现上节中的NHibernate配置.

准备工作

1.   完成第一章中Eg.Core项目的模式和映射部分.

2.   在你的解决方案中添加一个名为ConfigByXML的控制台项目.
3.   将她设置为启动项目.
4.   为该项目添加NHibernate.dll 和NHibernate.ByteCode.Castle.dll引用,这两个文件在Lib文件夹中.
5.   为该项目添加到Eg.Core的引用.

步骤

1.   添加一个App.config文件如下:

View Code

2.   添加一个名为hibernate.cfg.xml的XML文件如下:

View Code
NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle
NHibernate.Dialect.MsSql2008Dialect, NHibernate
db
100

3.   右击hibernate.cfg.xml文件选择选择【属性】.

4.   将【复制到输出目录】改为【如果较新则复制】.

5.   打开Program.cs为其添加using NHibernate.Cfg;.

6.   在Main函数中添加下面的代码以完成对NHibernate的配置:

View Code
var nhConfig = new Configuration().Configure();var sessionFactory = nhConfig.BuildSessionFactory();Console.WriteLine("NHibernate Configured!");Console.ReadKey();

7.   编译运行,可以看到提示文本NHibernate Configured!.

 原理

  本节的示例运行原理同上节. 我们仍旧使用了在App.config中定义的db连接字符串.但是,在本节中我们把hibernate-configuration元素节点从App.config文件中移到了hibernate.cfg.xml文件. 在第一章中我们在解决方案中添加了schema文件夹(含nhibernate-configuration.xsd和nhibernate-mapping.xsd文件),因此我们在编写映射文件时会获得自能感知的支持. 改变【复制到输出目录】是为了确保编译时hibernate.cfg.xml文件会被复制到DEBUG目录.

扩展内容

  默认情况下,NHibernate会在hibernate.cfg.xml查找她的配置. 然而,我们也可以指定一个另外的配置文件,代码如下:

View Code
var cfgFile = "cookbook.cfg.xml";var nhConfig = new Configuration().Configure(cfgFile);

  此外,还可以将配置文件嵌入到程序集中.这种情况下,我们通过程序集中包含该资源以及该嵌入资源的名字.

  最后,我们可以使用XmlReader提供任何其他来源的配置.

转载于:https://www.cnblogs.com/carfieldSE/archive/2012/07/04/2576049.html

你可能感兴趣的文章
聊聊Mysql优化之索引优化
查看>>
Win10内部更新:警告用户别用chrome和Firefox
查看>>
Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解
查看>>
玩转DataGridView之行的展开与收缩
查看>>
外部Javascript文件获取.NET页面中服务器控件的ID
查看>>
Jquery Easy UI 中的datagrid通过url调用webservice返回json数据
查看>>
c++野指针 之 实战篇
查看>>
【Ruby】Ruby的model学习——Active Record Associations
查看>>
关于写的Java书籍进展
查看>>
C++多线程
查看>>
Android ----制作自己的Vendor
查看>>
iOS 中隐藏UITableView最后一条分隔线
查看>>
Android初级教程理论知识(第一章快速入门)
查看>>
c#基础知识梳理(五)
查看>>
高精度大数计算R^n与字符串的处理
查看>>
Sql FAQ
查看>>
【Android】冷门常用 ADB
查看>>
知识分子真正的悲哀是依附强权放弃说理
查看>>
优秀简历要遵循哪些规则
查看>>
Grow A Search Result Specification
查看>>