Nhibernate学习教程(1)-- 开篇有益
NHibernate之旅(1):开篇有益
本节内容
- NHibernate是什么
- NHibernate的架构
- NHibernate资源
- 欢迎加入NHibernate中文社区
作者注:2009-11-06已更新
NHibernate开篇有益
学习NHibernate有一段时间了,打算做个阶段性总结,就萌生了这个系列,这个系列参考NHibernate官方文档和Steve Bohlen的NHibernate之夏视频教程。作为开篇,首先了解多少人在使用NHibernate,先搞清楚NHibernate是什么?学习NHibernate的一些资源。也欢迎大家加入NHibernate中文社区。
这个系列我使用NHibernate官方2009年10月31日最新发布的NHibernate-2.1.1.GA版本。开发环境是Microsoft Visual Studio 2008 SP1/Microsoft Visual Studio 2010、SQL Server 2008 Express和集成测试插件TestDriven.NET。如果你第一次使用NHibernate,先到这里下载NHibernate最新版本(包括源码、发布版本、参考文档、API文档,可选择下载)。如果用到NHibernate的扩展项目到这里下载获得NHibernate Contrib最新版本。NHibernate-2.1.1.GA是.NET2.0平台的最后一个版本,关于NHibernate-2.1.1.GA的更多信息请点击这里。
NHibernate是什么
NHibernate 是一个面向.NET 环境的对象/关系数据库映射工具。对象关系映射(O/R Mapping,Object Relational Mapping)表示一种技术,用来把对象模型表示的对象映射到基于SQL 的关系模型数据结构中去。
NHibernate不仅仅管理.NET 类到数据库表的映射(包括.NET 数据类型到SQL 数据类型的映射),还提供数据查询和获取数据的方法,大幅度减少我们开发时人工使用SQL和ADO.NET处理数据的时间。NHibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。并请记住NHibernate作为数据库访问层,是与你的程序紧密集成的。
NHibernate的架构
你知道NHibernate到底什么样子?下面我摘取官方文档中的三幅不同的结构图稍做说明。
第一幅图:NHibernate体系结构非常抽象的概览

这幅图展示了NHibernate在数据库和应用程序之间提供了一个持久层。
第一幅图好像非常简单?其实NHibernate是比较复杂的。我们了解两种极端情况,轻量级和重量级架构。再来第二幅图:轻量级体系,应用程序自己提供ADO.NET连接,并且自行管理事务。

最后一张图:重量级体系:所有的底层ADO.NET API都被抽象了。

NHibernate资源
NHibernate资源现在已经比较多了,但是大部分都是英文了,这里我仅仅挑选几个站点。
NHibernate专题:http://kb.cnblogs.com/zt/NHibernate/ (中文)
NHibernate官方主页:http://www.nhforge.org/(英文)
NHibernate参考文档2.1.1GA:http://nhforge.org/doc/nh/en/(英文) 社区有中文文档下载。
NHibernate之夏系列录像教程:http://www.summerofnhibernate.com/(英文)
欢迎加入NHibernate中文社区
http://space.cnblogs.com/group/NHibernate
为什么叫做NHibernate中文社区呢?原因很简单,体现本地化。现在关于NHibernate很多的资料都是英文资料,中文资料少的可怜了也不是很完整,我们努力建立在这个小组建立起来属于大家的NHibernate中文社区,在这里一起讨论NHibernate、学习NHibernate。
如果你使用NHibernate,学习NHibernate,欢迎加入这个小组,一起讨论NHibernate、学习NHibernate,一起建立NHibernate中文社区。
Nhibernate学习教程(1)-- 开篇有益的更多相关文章
- NHibernate学习教程(6)--事务Transactions
本节内容 事务概述 1.新建对象 [测试成功提交] [测试失败回滚] 2.删除对象 3.更新对象 4.保存更新对象 结语 上一篇我们介绍了NHibernate中的Insert, Update, De ...
- Nhibernate学习教程(2)-- 第一个NHibernate程序
NHibernate之旅(2):第一个NHibernate程序 本节内容 开始使用NHibernate 1.获取NHibernate 2.建立数据库表 3.创建C#类库项目 4.设计Domain 4- ...
- Protocol Buffer学习教程之开篇概述(一)
1. Protocol Buffer是什么 Protocol Buffer是google旗下的产品,用于序列化与反序列化数据结构,但是比xml更小.更快.更简单,而且能跨语言.跨平台.你可以把你的数据 ...
- Protocol Buffer学习教程之编译器与类文件(三)
Protocol Buffer学习教程之编译器与类文件(三) 1. 概述 在前面两篇中,介绍了Protobuf的基本概念.应用场景.与protobuf的语法等.在此篇中将介绍如何自己编译protobu ...
- [转]NHibernate之旅(1):开篇有益
本节内容 NHibernate是什么 NHibernate的架构 NHibernate资源 欢迎加入NHibernate中文社区 作者注:2009-11-06已更新 NHibernate开篇有益 学习 ...
- 2019 年起如何开始学习 ABP 框架系列文章-开篇有益
2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/lates ...
- NHibernate 基础教程
NHibernate之旅系列文章导航 宣传语 NHibernate.NHibernate教程.NHibernate入门.NHibernate下载.NHibernate教程中文版.NHibernate实 ...
- BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介
文章提纲 商业智能(BI, Business Intelligence)基本概念 SSAS(SQL Server Analysis Services)相关工具(开发.管理和客户端) 总结 一.商业智能 ...
- Windows 8实例教程系列 - 开篇
原文:Windows 8实例教程系列 - 开篇 2012年10月26日,微软发布Windows 8操作系统以及自主品牌平板电脑Surface,Windows作为世界上最流行的操作系统,发布一周内,下载 ...
随机推荐
- Open-Falcon第一步环境准备(小米开源互联网企业级监控系统)
1.环境安装 本文采取rpm安装方式,大家也可以用源码包安装. wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release- ...
- PAT1074 Reversing Linked List (25)详细题解
02-1. Reversing Linked List (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue ...
- Linux 日常常用指令
最近搞了一个阿里ECS,CentOS7,涉及到一些基本的Linux指令,在这里总结一下,在搭环境中常用的一些指令,熟悉这些指令就基本能够使用CentOS进行日常操作了. 更多的可以参考系统自带的 “ ...
- shader之半兰伯特漫反射
看很多人实现shader都用插件shader force,那我还学shader干X!!!??? 好了,废话不多说,学习shader去.... 漫反射在shader里算是最基础的知识了.入手shader ...
- python学习===计算字符串中子串出现的次数。
if __name__ == '__main__': str1 = input('input a string: \n') str2 = input('input a sub string: \n') ...
- 【性能测试工具】- WebBench
优点:模拟的并发量更大:缺点:统计的结果有限 概述: webbench是由Lionbridge公司(http://www.lionbridge.com)开发,它是Linux下的一个网站压力测试工具,它 ...
- RabbitMQ 使用(一)
RabbitMQ中的使用 这篇文章将会介绍关于RabbbitMQ的使用,并且使用的是kombo(客户端的Python实现)来实现: 安装 如果使用的是mac安装的话,可以先安装到指定的位置,接着配置命 ...
- php创建多级目录完整封装类操作
创建多级目录函数中调用创建指定下的指定文件的函数: public function create_dir($dir,$mode=0777) { return is_dir($dir) or ($thi ...
- 第一阶段项目(3body)
<div class="H1"> <div class="top-nav"> < ...
- .net到Java那些事儿--整合SSH
一.介绍 整体介绍分成两个部分,第一.net转到Java的原因,第二开发SSH时候的环境介绍: .net到Java的原因: .net开发也将近快3年的样子,加上现在的老东家换过 ...