本节内容
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最新版本。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在数据库和应用程序之间提供了一个持久层。