
- NHibernate 教程
- NHibernate - 首頁
- NHibernate - 概述
- NHibernate - 架構
- NHibernate - ORM
- NHibernate - 環境設定
- NHibernate - 入門
- NHibernate - 基礎ORM
- NHibernate - 基礎CRUD操作
- NHibernate - 分析器
- 為對映檔案新增IntelliSense
- NHibernate - 資料型別對映
- NHibernate - 配置
- NHibernate - 覆蓋配置
- NHibernate - 批處理大小
- NHibernate - 快取
- NHibernate - 對映元件
- NHibernate - 關係
- NHibernate - 集合對映
- NHibernate - 級聯操作
- NHibernate - 延遲載入
- NHibernate - 反向關係
- NHibernate - Load/Get
- NHibernate - LINQ
- NHibernate - 查詢語言
- NHibernate - Criteria 查詢
- NHibernate - QueryOver 查詢
- NHibernate - 原生SQL
- NHibernate - Fluent NHibernate
- NHibernate 有用資源
- NHibernate - 快速指南
- NHibernate - 有用資源
- NHibernate - 討論
NHibernate - ORM
在我們真正開始使用 NHibernate 之前,我們需要了解其構建的基礎。NHibernate 是一種持久化技術,它基於物件關係對映或 ORM 的思想。
什麼是 ORM?
物件關係對映 (ORM) 是一種**程式設計技術**,用於在面向物件的程式語言中轉換不相容的型別系統之間的資料。換句話說,它是將應用程式的業務物件對映到關係資料庫表的概念,以便可以透過應用程式的物件模型輕鬆訪問和更新資料。
您已經知道關係資料庫提供了一種良好的資料儲存方式,而面向物件程式設計是構建複雜應用程式的一種良好方法。
NHibernate 和 ORM 通常與具有重要業務邏輯、領域模型和某種資料庫的應用程式最相關。
使用 ORM,建立能夠輕鬆將物件轉換為關係資料並返回的轉換層非常容易。
ORM 首字母縮寫詞也可以指物件角色建模,這個術語是在物件/關係對映變得相關之前發明的。
它描述了一種資訊分析方法,用於資料庫建模。
為什麼使用 ORM?
ORM 是一個**框架**,使您能夠將面嚮物件語言中找到的物件世界對映到關係資料庫中找到的關係表中的行。
為了理解這個概念,讓我們看看下面的圖表。

在上圖中,您可以看到我們右邊有一個名為 Employee 的表,其中包含與每個員工相關的每條資料的列。
我們有一列 Id,它唯一標識每個員工。
一列用於員工姓名,另一列用於他們的入職日期,最後是一列包含員工年齡。
如果我們想編寫一些程式碼將新員工儲存到表中,這並不容易。
在上圖中,您還可以看到我們有一個員工物件,它具有 Id、姓名、入職日期和年齡的欄位。
如果沒有 ORM,我們必須將此物件轉換為幾個不同的 SQL 語句,這些語句會將員工資料插入到員工表中。
因此,編寫程式碼來建立 SQL 來執行上述場景並不難,但它有點乏味,而且很容易出錯。
使用像 NHibernate 這樣的 ORM,我們可以宣告某些類如何對映到關係表,並讓 ORM 或 NHibernate 處理建立 SQL 來插入、更新、刪除和查詢員工表中資料的繁瑣工作。
這使我們可以專注於使用物件,並讓這些物件自動轉換為關係表。
因此,ORM 的真正作用是讓我們免於手動將物件對映到表。