首页 技术 正文
技术 2022年11月23日
0 收藏 464 点赞 4,827 浏览 1000 个字

摘要

NHibernate是一个成熟的开源的面向对象的.net映射框架。大量的实际项目中正在使用该框架。他是建立在ADO.Net基础之上。目前的版本是NHibernate 4.0.4。本系列文章都是基于NHibernate 4.0版本。

1. 什么是ORM?

ORM指Object Relational Mapping。他是一种让你可以在面向对象和关系数据库之间互相映射的技术。

现实世界中,每个事物都是对象。我们称具有自己数据属性的事物为对象。

关系世界都是以集合为基础的表和数据行记录。这不同于面向对象世界。

在面向对象的世界里,我们使用单向关联。然而,在关系世界里,我们使用外键作为双向关联。

面向对象有继承的概念。例如,车辆类有很多继承类,小汽车是一种车辆,跑车也是一种车辆。这种都是继承关系。

在关系世界里,没有继承的关系。

ORM是对象世界和关系世界的一座桥梁,通过映射关系,简化了大量操作数据库的代码。

NHibernate是一个ORM的工具。

2. NHibernate架构

NHibernate系列文章一:NHibernate介绍

  • NHibernate在应用程序中充当数据访问层
  • 将关系数据库映射成应用程序中的持久化对象
  • 使用app.config作为数据库配置文件(数据库连接,日志等)
  • 使用xml mappings文件作为数据库映射配置文件(也有支持其他映射方法:属性映射、Fluent Mapping、Auto-Mapping)

3. NHibernate与其Entity Framework框架比较

  • NHibernate提供二级缓存
  • NHibernate支持字典数据类型
  • NHibernate支持Batch Update/Insert优化
  • NHibernate支持更多种类数据库,支持SQL Server, Oracle, DB2,  Firebird, MySQL, PostgreSQL, SQL Lite, 支持ODBC and OLEDB drivers。Entity Framework主要支持SQL Server数据库
  • NHibernate支持更好的并发访问(乐观并发控制)
  • NHibernate支持多样的查询方式,HQL、Critirial、Linq Query、Query Over和SQL Query

本系列文章主要参考资料:

《Nhibernate Tutorial》这本书比较浅显易懂,适合入门

《NHibernate 3.0 Beginner Guid》入门书籍

《Learning NHibernate 4》这本书适合进阶读者

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,996
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,510
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,353
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,137
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848