NHibernate系列文章一:NHibernate介紹

摘要

NHibernate是一個成熟的開源的面向對象的.net映射框架。大量的實際項目中正在使用該框架。他是創建在ADO.Net基礎之上。目前的版本是NHibernate 4.0.4。本系列文章都是基於NHibernate 4.0版本。數據庫

1. 什麼是ORM?緩存

ORM指Object Relational Mapping。他是一種讓你能夠在面向對象和關係數據庫之間互相映射的技術。架構

現實世界中,每一個事物都是對象。咱們稱具備本身數據屬性的事物爲對象。併發

關係世界都是以集合爲基礎的表和數據行記錄。這不一樣於面向對象世界。app

在面向對象的世界裏,咱們使用單向關聯。然而,在關係世界裏,咱們使用外鍵做爲雙向關聯。框架

面向對象有繼承的概念。例如,車輛類有不少繼承類,小汽車是一種車輛,跑車也是一種車輛。這種都是繼承關係。工具

在關係世界裏,沒有繼承的關係。優化

ORM是對象世界和關係世界的一座橋樑,經過映射關係,簡化了大量操做數據庫的代碼。ui

NHibernate是一個ORM的工具。spa

2. 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》這本書適合進階讀者

相關文章
相關標籤/搜索