iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Software Development

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

適合有.NET跟資料庫處理基礎的讀者閱讀
期望帶讀者了解實際工作上的應用,並且深入Source Code了解原理。

鐵人鍊成 | 共 30 篇文章 | 78 人訂閱 訂閱系列文 RSS系列文 團隊IT成長團
DAY 11

【深入Dapper.NET源碼】錯誤SQL字串拼接方式,會導致效率慢、內存洩漏

了解實作邏輯後,接著延伸一個Dapper使用的重要觀念,SQL字串為緩存重要Key值之一,假如不同的SQL字串,Dapper會為此建立新的動態方法、緩存,所以...

2019-09-22 ‧ 由 暐翰 分享
DAY 12

【深入Dapper.NET源碼】Dapper SQL正確字串拼接方式 : Literal Replacement

假如遇到必要拼接SQL字串需求的情況下,舉例 : 有時候值使用字串拼接會比不使用參數化效率好,特別是該欄位值只會有幾種固定值。 這時候Dapper可以使用Li...

2019-09-23 ‧ 由 暐翰 分享
DAY 13

【深入Dapper.NET源碼】Query Multi Mapping 使用方式

接著講解Dapper Multi Mapping(多對應)實作跟底層邏輯,畢竟工作當中不可能都是一對一概念。 使用方式 : 需要自己編寫Mapping邏輯,...

2019-09-24 ‧ 由 暐翰 分享
DAY 14

【深入Dapper.NET源碼】Query Multi Mapping 底層原理

Multiple Mapping 底層原理 這邊先以一個簡單Demo帶讀者了解Dapper Multi Mapping 概念 按照泛型類別參數數量建立對應數...

2019-09-25 ‧ 由 暐翰 分享
DAY 15

【深入Dapper.NET源碼】QueryMultiple(多個結果)底層原理

使用方式例子 : using (var cn = Connection) { using (var gridReader = cn.QueryMult...

2019-09-26 ‧ 由 暐翰 分享
DAY 16

【深入Dapper.NET源碼】TypeHandler 自訂Mapping邏輯使用、底層邏輯

遇到想要客製某些屬性Mapping邏輯時,在Dapper可以使用TypeHandler 使用方式 : 建立類別繼承SqlMapper.TypeHandler...

2019-09-27 ‧ 由 暐翰 分享
DAY 17

【深入Dapper.NET源碼】 CommandBehavior的細節處理

這篇將帶讀者了解Dapper如何在底層利用CommandBehavior優化查詢效率,如何選擇正確Behavior在特定時機。 我這邊整理了各方法對應的Beh...

2019-09-28 ‧ 由 暐翰 分享
DAY 18

【深入Dapper.NET源碼】Parameter 參數化底層原理

接著進到Dapper的另一個關鍵功能 : 「Parameter 參數化」 主要邏輯 :GetCacheInfo檢查是否緩存內有動態方法 > 假如沒有緩存...

2019-09-29 ‧ 由 暐翰 分享
DAY 19

【深入Dapper.NET源碼】 IN 多集合參數化底層原理

為何ADO.NET不支援IN 參數化,Dapper支援 ? 原理 判斷參數的屬性是否為IEnumerable類別子類別 假如是,以該參數名稱為主 + Par...

2019-09-30 ‧ 由 暐翰 分享
DAY 20

【深入Dapper.NET源碼】DynamicParameter 底層原理、自訂實作

這邊用個例子帶讀者了解DynamicParameter原理,舉例現在有一段代碼如下 : using (var cn = Connection) { v...

2019-10-01 ‧ 由 暐翰 分享