zoukankan      html  css  js  c++  java
  • NHibernate使用之详细图解

    本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看,这些都是容易忽略和出错的地方,笔者在此给大家做了特殊标记。

    NHibernate框架的介绍:http://baike.baidu.com/view/954535.htm

     

    开发环境 Vs 2010 + MsSql2005 + NHibernate 2.1.2.

     

    本示例的下载地址:点击下载NHibernate 2.1.2的下载地址:点击下载

     

    目录

    步骤一、创建数据库和映射的表。

    步骤二、创建项目和实体类映射类以及类对应的映射文件。

    步骤三、添加项目引用与NHibernate的dll文件。

    步骤四、配置hibernate.cfg.xml文件(数据库映射信息配置)无需配置web.config。

    步骤五、创建和使用NHibernate.

     

    步骤一、创建数据库和映射的表。如图:

    数据库:hibDB,映射表:people.

     

    步骤二、创建项目和实体类映射类以及类对应的映射文件

    新建一个网站,网站创建之后,网站解决方案右键,选择添加 => 新建项目 => 类库

     

    给类库起名,本测试程序名称为:Com.uuu9.nHibernate,然后把自带的Class1.cs改名为创建映射表的名称(映射实体类的名称),本示例为People.cs,其中实体类的代码为表属性的set与get,如图:

    与之前写的实体类不同的是此实体类每个属性前面就加了virtual,虚方法或者属性的关键字,子类可以从新定义(override),在这里必须有virtual 关键字,不然程序运行就会出错。笔者判断此原因可能是程序在运行时候此属性被重新映射(定义),所以必须添加virtual关键字。

    然后比较重要的一个步骤就是配置此实体类对应的映射文件,此映射xml文件名称固定为“实体类.hbm.xml”,其代码如图:

    实体类的属性配置,其中“Com.uuu9.nHibernate”为上述所建类库(生成程序集的名称)的名称。注意:每个实体类对应的映射文件“实体类.hbm.xml”,都要右键设置生成类型属性为:嵌入的资源。如图:

    因为当作为一个资源被嵌入后,项目的默认命名空间与文件名就组成了资源访问的完整名称,NHibernate运行时会访问资源的完整名称,但如果不设置,程序就找不到映射文件,就会认为此类没有设置映射,也就不能使用NHibernate操作。

     

    步骤三、添加项目引用与NHibernate(版本2.1.2)的dll文件。

    要引用的NHibernate的dll如图:

    其中都为必须引用的dll。

     

    步骤四、配置hibernate.cfg.xml文件(数据库映射信息配置)

    hibernate.cfg.xml文件为NHibernate的配置文件,名称固定,且必须放到Bin目录中。内容如图:

     

    name可以自己随意定义,

    NHibernate.Dialect.MsSql2005Dialect”可根据实际的数据库的需要改为 2000Dialect、2008Dialect。

    注意:“<mapping assembly="Com.uuu9.nHibernate"/>”为实体类生成程序集的名称,一直要写正确,一定要有。

     

    步骤五、创建和使用NHibernate

    使用的代码如图:

     

    至此NHibernate制作完毕。

    本示例的下载地址:点击下载NHibernate 2.1.2的下载地址:点击下载

  • 相关阅读:
    算法竞赛入门经典习题2-3 韩信点兵
    ios入门之c语言篇——基本函数——5——素数判断
    ios入门之c语言篇——基本函数——4——数值交换函数
    144. Binary Tree Preorder Traversal
    143. Reorder List
    142. Linked List Cycle II
    139. Word Break
    138. Copy List with Random Pointer
    137. Single Number II
    135. Candy
  • 原文地址:https://www.cnblogs.com/DTWolf/p/4688710.html
Copyright © 2011-2022 走看看