C# 資料操作系列 - 10 NHibernate初試
阿新 • • 發佈:2020-05-20
# 0. 前言
在上一篇基本講完了EF Core的入門級教程。從這一篇開始,我們試著去探索一下 .net core平臺上更多的ORM框架。那麼,這一篇開始我們就來試試NHibernate。
# 1. NHibernate 介紹
NHibernate是Hibernate的C#版,眾所周知Hibernate是Java 裡ORM的頂樑柱(至少曾經)。Hibernate可以說開拓了Java的世界,當年SSH三駕馬車風靡世界,至今Hibernate都發揮著舉足輕重的作用。
不過,與EntityFramework不同的地方是,Hibernate以配置檔案為主,通過配置檔案規範使用,Object/Relation 對映。而NHibernate這繼承了這一點,也是以配置檔案優先。下圖是 NHibernate的工作原理:
![img](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200520083316244-1809678615.png)
通過讀取App.config或者Web.config檔案去讀NHibernate的基本配置,然後載入對映檔案,建立對映關係。在後續使用中,通過對映關係生成SQL語句(這一步跟EF是一致的),進而操作資料或者查詢資料。
# 2. 初探 NHibernate
## 2.1 準備
先來個控制檯專案,我起名為dataprovider。然後安裝NHibernate:
1. NuGet:
```powershell
Install-Package NHibernate
```
2. dotnet core 命令列:
```bash
dotnet add package NHibernate
```
這個文章中使用的NHibernate版本是 5.2.7
## 2.2 配置
需要建立一個專案用的配置檔案:App.config.
C# 專案中,除了Web型別的專案,每個專案的主配置檔案的名稱都是App.config,這是一個固定名稱。
檔案內容如下:
```xml
```
在 configuration節點之間新增以下內容: