iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 1
4

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

連結 : 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

下一篇
【深入Dapper.NET源碼】Dynamic Query 原理 Part1
系列文
🌊 進階學習 ADO.NET、Dapper、Entity Framework 30

尚未有邦友留言

立即登入留言