iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
5
Software Development

🌊 進階學習 ADO.NET、Dapper、Entity Framework 系列 第 1

【深入Dapper.NET源碼】前言、安裝環境

  • 分享至 

  • xImage
  •  

筆者推薦閱讀整合一篇文章版本

連結 : shps951023/Trace-Dapper.NET-Source-Code


目錄

  1. 前言、安裝環境
  2. Dynamic Query 原理 Part1
  3. Dynamic Query 原理 Part2
  4. Strongly Typed Mapping 原理 Part1 : ADO.NET對比Dapper
  5. Strongly Typed Mapping 原理 Part2 : Reflection版本
  6. Strongly Typed Mapping 原理 Part3 : 動態建立方法重要概念「結果反推程式碼」優化效率
  7. Strongly Typed Mapping 原理 Part4 : Expression版本
  8. Strongly Typed Mapping 原理 Part5 : Emit IL反建立C#代碼
  9. Strongly Typed Mapping 原理 Part6 : Emit版本
  10. Dapper 效率快關鍵之一 : Cache 緩存原理
  11. 錯誤SQL字串拼接方式,會導致效率慢、內存洩漏
  12. Dapper SQL正確字串拼接方式 : Literal Replacement
  13. Query Multi Mapping 使用方式
  14. Query Multi Mapping 底層原理
  15. QueryMultiple(多個結果)底層原理
  16. TypeHandler 自訂Mapping邏輯使用、底層邏輯
  17. CommandBehavior的細節處理
  18. Parameter 參數化底層原理
  19. IN 多集合參數化底層原理
  20. DynamicParameter 底層原理、自訂實作
  21. 單次、多次 Execute 底層原理
  22. ExecuteScalar應用
  23. 總結

經過業界前輩、StackOverflow多年推廣,「Dapper搭配Entity Framework」成為一種功能強大的組合,它滿足「安全、方便、高效、好維護」需求。

但目前中文網路文章,雖然有很多關於Dapper的文章但都停留在如何使用,沒人系統性解說底層原理。所以有了此篇「深入Dapper源碼」想帶大家進入Dapper底層,了解Dapper的精美細節設計、高效原理,並學起來實際應用在工作當中。


建立Dapper Debug環境

  1. Dapper Github 首頁 Clone最新版本到自己本機端
  2. 建立.NET Core Console專案
    20191003173131.png
  3. 需要安裝NuGet SqlClient套件、添加Dapper Project Reference
    20191003173438.png
  4. 下中斷點運行就可以Runtime查看邏輯
    20191003215021.png

個人環境

  • 資料庫 : MSSQLLocalDB
  • Visaul Studio版本 : 2019
  • LINQ Pad 5 版本
  • Dapper版本 : V2.0.30
  • 反編譯 : ILSpy

幫助我

假如平常我的回答或是文章有幫助到你,可以幫我的Linkedin加個聯絡人並點擊認同技能
Wei | LinkedIn
或是Github點個追蹤或是Star,謝謝你 ^_^
Wei | Github


下一篇
【深入Dapper.NET源碼】Dynamic Query 原理 Part1
系列文
🌊 進階學習 ADO.NET、Dapper、Entity Framework 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言