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的下载地址:点击下载;



Orm框架相关文章链接:

1.NHibernate使用之详细图解

2.iBatis for net 框架使用

3.iBatis for Net 代码生成器(CodeHelper)附下载地址

4.NBear简介与使用图解 

5.SubSonic框架使用图解

6.GentleNet使用之详细图解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

disabling directory browsing

2019独角兽企业重金招聘Python工程师标准>>> I have seen several recommendation to increase web application security by disabling directory browsing (for example pg 388 in IBM WebSphere Deployment and Advanced Configuration by Barcia, Hines, et al)…

水印生成器第2版[原图质量水印可自定义设置]

简介&#xff1a;水印生成器&#xff0c;原理很简单&#xff0c;一时在网上没有找到打水印的网站&#xff0c;自己便做了一个&#xff0c;效果如下图&#xff0c;可自定义字体大小、字体类型以及颜色。 开发环境&#xff1a;vs 2010 [net 3.5 WindowsForms应用程序] 本文带给…

服务发现与负载均衡traefik ingress

ingress就是从kubernetes集群外访问集群的入口&#xff0c;将用户的URL请求转发到不同的service上。Ingress相当于nginx、apache等负载均衡方向代理服务器&#xff0c;其中还包括规则定义&#xff0c;即URL的路由信息&#xff0c;路由信息得的刷新由 Ingress controller 提供 …

GentleNet使用之详细图解[语法使用增强版]

目录第一章 开发环境第二章 简介第三章 Gentle.Net-1.5.0 下载文件包介绍第四章 使用步骤第五章 源码下载 第一章、开发环境&#xff1a;Vs 2010 Sql 2005 GentleNet 1.5.0 【Web网站程序 .Net Framework 3.5】第二章、简介&#xff1a;Gentle.Net是一个开源的优秀O/R M…

NBear简介与使用图解

NBear简介与使用图解框架类型&#xff1a;ORM映射框架简介&#xff1a;NBear是一个基于.Net 2.0、C#2.0开放全部源代码的的软件开发框架类库。NBear的设计目标是尽最大努力减少开发人员的工作量&#xff0c;最大程度提升开发效率&#xff0c;同时兼顾性能及可伸缩性。Demo版本&…

搭建私有helm仓库及图形界面

搭建私有helm仓库及图形界面 本篇主要介绍私有 helm 仓库 Chartmuseum 及图形界面 Monocular UI /kubeapps 的搭建 helm chart 能够很好的封装和管理我们的 kubernetes 应用&#xff0c;可以实现中间件、数据库、公共组件等快速发布。 什么场景下我们需要构建一个私有的helm仓…

神啊,6小时30分钟,完成想要的所有Lync测试

神啊 !记住这个日子 !从未想到&#xff0c;6小时30分钟&#xff0c;能做出这么多东西&#xff1a;从&#xff1a;2013-06-28---20&#xff1a;00到2013-06-29-----2&#xff1a;30 (辛苦&#xff0c;也是值得&#xff0c;客户是上帝&#xff0c;公司也好&#xff0c;个人也罢&a…

SubSonic框架使用图解

简介&#xff1a;SubSonic框架是一个优秀的、开源的ORM映射框架&#xff0c;同时提供符合自身需要的代码生成器。 官方下载地址&#xff1a;http://www.subsonic.org/pages/download.jsp 明白了SubSonic是什么之后&#xff0c;下面一起来看SubSonic的使用吧。 开发版本&#…

用户代理de疑惑

2019独角兽企业重金招聘Python工程师标准>>> 在计算机科学中&#xff0c;用户代理&#xff08;英语&#xff1a;User Agent&#xff09;指的是代表使用者行为的软件&#xff08;软件代理程序&#xff09;所提供的对自己的一个标识符。例如&#xff0c;一个电子邮件阅…

问题“The connection to the server....:6443 was refused - did you specify the right host or port?”的处理!

问题“The connection to the server <master>:6443 was refused - did you specify the right host or port?”的处理&#xff01; 一、故障产生 在不关闭kubernets相关服务的情况下&#xff0c;对kubernets的master节点进行重启。&#xff08;模拟服务器的异常掉电&a…

iBatis for Net 代码生成器(CodeHelper)附下载地址(已经升级为V 1.1)

CodeHelper是一款可以自己定义模板和生成内容的代码生成器&#xff0c;目前只支持MsSql数据库&#xff0c;这款代码生成器的初衷也只是为了生成MyBatis.net框架的配置文件而写的一个轻量级的代码生成器。CodeHelper下载文件包介绍&#xff1a;Template\... 存放模板文件夹&…

在Access中执行SQL语句

Access在小型系统开发中等到了广泛使用。虽然Access提供了可视化的操作方法&#xff0c;但许多开发人员还是喜欢直接用SQL语句操作数据表。如何在Access中打开SQL视图&#xff0c;对于初次使用Access的程序员可得费点时间呢。 1、ACESS2007 &#xff08;1&#xff09;点击“创建…

K8S+Helm 安装 Jupyterhub

准备配置文件 生成随机数 openssl rand -hex 32 # 8fc2826e9ce6930ec26c9fd541c0620b448a947357edbdf9647516af16bbc798配置config.yaml如下&#xff0c;token是上一步生成 proxy:secretToken: "8fc2826e9ce6930ec26c9fd541c0620b448a947357edbdf9647516af16bbc798&quo…

iBatis for net 框架使用

简介&#xff1a;ibatis 一词来源于“internet”和“abatis”的组合&#xff0c;是一个由Clinton Begin在2001年发起的开放源代码项目&#xff0c;到后面发展的版本叫MyBatis但都是指的同一个东西。最初侧重于密码软件的开发&#xff0c;现在是一个基于Java的持久层框架&#x…

php 图片后缀,PHP如何实现图片无后缀

在偶然间网站开发&#xff0c;实现网页内容抓取的时候&#xff0c;发现有些图片居然没有后缀。然后怀着踽踽独行的心态&#xff0c;去尝试了下这个以前没有遇见过的“重大发现”&#xff1a;当完成测试后&#xff0c;发现其原理&#xff0c;也是真心简单&#xff0c;其实也就是…

Office Web Apps Server 2013与PDF(一)

好吧……这个消息有点旧&#xff0c;迟了将近4个月。 Office Web Apps是微软各大服务产品系列中的一个基础服务&#xff0c;可以为SharePoint 2013、Exchange 2013、Lync 2013提供企业内文档的在线预览和编辑功能&#xff1b;同时它也是一个基础的互联网服务&#xff0c;为诸如…

nifi 实现数据库到数据库之间数据同步

数据同步 界面如下&#xff1a; 具体流程&#xff1a; 1、使用ExecuteSQL连接mysql数据库&#xff0c;通过写sql查询所需要的数据 2、nifi默认查出来的数据为Avro格式&#xff0c;所以需要ConvertAvroToJSON把Avro格式转化为json格式的数据 3、使用ConvertJSONToSQL把json数据转…

php 文件 后缀,php如何修改文件后缀名

php修改文件后缀名的方法&#xff1a;首先创建PHP文件&#xff1b;然后定义一个“changeTypeName”方法&#xff1b;接着获取文件绝对路径&#xff1b;最后通过“rename($fileRealPath, $compressCssFileRealPath);”修改即可。php 改变文件目录下文件的后缀名changeTypeName(&…

windows自定义快速启动(运行)命令

自定义运行&#xff08;windows键R&#xff09;里面命令&#xff0c;启动设置的程序&#xff0c;如图&#xff1a;它的设置方法有两种&#xff1a; 第一种设置方法&#xff1a; 第1步&#xff1a;在任意地方创建一个文件夹&#xff08;建议在D盘根目录创建&#xff09;&#xf…

python RSA加密、解密、签名

python中用于RSA加解密的库有好久个&#xff0c;本文主要讲解rsa、M2Crypto、Crypto这三个库对于RSA加密、解密、签名、验签的知识点。 知识基础 加密是为了保证传输内容隐私&#xff0c;签名是为了保证消息真实性。 服务器存私钥&#xff0c;客户端存公钥。&#xff08;服务…