本節內容
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在數據庫和應用程序之間提供了一個持久層。
第一幅圖好像非常簡單?其實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中文社區。