NHibernate之旅(1):开篇有益
本节内容
- NHibernate是什么
- NHibernate的架构
- NHibernate资源
- 欢迎加入NHibernate中文社区
NHibernate开篇有益
学习NHibernate有一段时间了,打算做个阶段性总结,就萌生了这个系列,这个系列参考NHibernate官方文档和Steve Bohlen的NHibernate之夏视频教程。作为开篇,首先了解多少人在使用NHibernate,先搞清楚NHibernate是什么?学习NHibernate的一些资源。也欢迎大家加入NHibernate中文社区。
这个系列我使用NHibernate官方2008年9月29日最新发布的NHibernate-2.0.1.GA版本。开发环境是Microsoft Visual Studio 2008 SP1、SQL Server 2008 Express、TestDriven.NET。你可以到这里下载获得NHibernate最新版本。到这里下载获得NHibernate Contrib最新版本。2.0版比1.2版本添加了很多特性和改进。可惜2.0版本没有发布LINQ for NHibernate,不过在接下来的2.1版本会发布LINQ for NHibernate,如果你现在很想尝鲜LINQ for NHibernate,你可以在这里找到社区版的NHibernate.Linq.dll。
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://www.nhibernate.org/(英文)
NHibernate社区:http://www.nhforge.org/(英文)
NHibernate参考文档2.0.0: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中文社区。