[HowTo]利用 Dapper 取得 HIERARCHYID 類型資料

阿蘇卡
2 min readJun 12, 2020

--

先前文章(利用 HIERARCHYID 紀錄資料庫樹狀關聯資料)中提到 EF Core3.1 還不支援 HIERARCHYID,ASP.Net Core 專案有需要用到 ORM 取用資料時可以先用 Dapper — 相當輕巧的 ORM 工具。

使用方式

0. 準備好 ASP.Net Core 的專案,範例使用 ASP.Net Core3.1。

1. 安裝 Dapper,指令:

Install-Package Dapper -Version 2.0.35

2. 安裝 Microsoft.SqlServer.Types (為了轉換資料庫中 HIERARCHYID 資料類型類型),指令:

Install-Package Microsoft.SqlServer.Types -Version 14.0.1016.290

3. 將以上範例改寫為 class:

HIERARCHYID 資料類型改為 SqlHierarchyId。

增加一個 SalesByDepartment class 作為回傳強型別資料。(非必要,但用 ORM 就是要享受強型別的好處嘛)

4. 建立 Dapper 使用的 Repository

ConnectionString 請自行調整。

執行結果:

完整範例可至 GitHub 下載。

--

--

阿蘇卡
阿蘇卡

Written by 阿蘇卡

後端工程師。記錄下自己開發路上踩過的坑、研究過後的心得,希望對自己好,對其他工程師也好~

No responses yet