use dapper in C# | C# 筆記
源起
把這個月以來開發中遇到的問題與找到的解法做個筆記吧~以便未來記憶。這邊就貼貼參考到的 link 嚕。
ORM 工具 - Dapper
問題:一直很想用 ORM 的好處,可是 Entity Framework 的陣容實在龐大,光是改 table schema 就會動到一堆東西,沒有妥善的紀律很難適用於 team 。project 的第一階段先用傳統 ADO.NET 來使用,但仍然想用 ORM 真實地操控 object ,不要沿用舊方法弄 dataset, datatable 這些東東。
查到這篇燃起一絲希望,看起來可行耶~
另一種資料存取對映處理方式的選擇 - Dapper
安裝跟基本使用可參考這篇
短小精悍的.NET ORM神器 – Dapper
還好讓我查到這個,大大提升了開發進度以及用更簡約的方式處理欄位。
Try
底下貼幾個目前有試著用到的寫法。未必是最好的,但至少 it works.
Query SQL View,然後回傳結果用 LINQ 做 filter
執行 SQL Stored Procedure
額外發現
用 LINQ query 時發現為什麼明明某個 varchar 的欄位應該要能查得到值,但卻一直沒有反應。一度以為是欄位型態的問題。查到這篇後開始懷疑是 Dapper 的欄位 mapping 問題,畢竟那是個黑箱,我也不知道他是怎麼把 class 裡的 property 跟 SQL Table 的欄位拼湊在一起。
於是後來我參考下面這篇把 model property 的名字都取做跟 SQL 回傳欄位一致,問題就解了。
Dapper isn’t mapping correctly
加入對話