初識AutoMapper 在開始本篇文章之前,先來思考一個問題:一個項目分多層架構,如顯示層、業務邏輯層、服務層、數據訪問層。層與層訪問需要數據載體,也就是類。如果多層通用一個類,一則會暴露出每層的字段,二者會使類字段很多,而且會出現很多冗余字段,這種方式是不可取的;如果每層都使用不同的類,則層 ...
AutoMapper是一個對象和對象間的映射器。對象與對象的映射是通過轉變一種類型的輸入對象為一種不同類型的輸出對象工作的。讓AutoMapper有意思的地方在於它提供了一些將類型A映射到類型B這種無聊的事情的有趣慣例。只要類型B遵守AutoMapper已經建立的慣例,大多數情況下,映射兩種類型零配置就可以了。 首先,需要有source 源 和destination 目標 類型。默認情況下Aut ...
2017-02-17 18:59 0 2320 推薦指數:
初識AutoMapper 在開始本篇文章之前,先來思考一個問題:一個項目分多層架構,如顯示層、業務邏輯層、服務層、數據訪問層。層與層訪問需要數據載體,也就是類。如果多層通用一個類,一則會暴露出每層的字段,二者會使類字段很多,而且會出現很多冗余字段,這種方式是不可取的;如果每層都使用不同的類,則層 ...
返回總目錄 映射前后操作 偶爾有時候,在映射發生之前或之后,你可能需要執行一些自定義的邏輯。這可能是很少見的事情,因為在AutoMapper之外處理這些事情是更明顯的。你可以創建一個映射前后的全局操作: 或者在映射期間,創建映射前后的回調函數: 當你需要 ...
返回總目錄 首先,先創建一個控制台項目,引用AutoMapper程序集,創建三個類User,UserDto,UserMappingProfile,下面的知識點的演示都以此項目為基礎,代碼分別如下: 構造 AutoMapper ...
返回總目錄 自定義值解析 雖然AutoMapper覆蓋了相當一部分目標成員的映射場景,但是還有 1-5%的目標值需要解析處理一下。很多時候,自定義的值解析是可以放在領域層的領域邏輯。然而,如果該邏輯只是和映射操作有關的話,那它就會應為一些不必要的行為使得源類型很凌亂。這種場合 ...
返回總目錄 Dynamic和ExpandoObject映射 AutoMapper不用任何配置就可以從dynamic(動態)對象映射或映射到dynamic對象。 關於這個程序的說明,代碼中都注釋得很清楚了,不需再多做解釋。 扁平化 對象與對象之間的映射的通常用法就是將一個 ...
的對應屬性值就用“屌絲”來替換。 測試結果如下: 開放泛型 AutoMapper支持開 ...
返回總目錄 自定義類型轉換 有時,需要完全控制一個類型到另一個類型的轉換。一個類型一點都不像另一個類型,而且轉換函數已經存在了,在這種情況下,你想要從一個“寬松”的類型轉換成一個更強壯的類型, ...
返回總目錄 List和數組 AutoMapper只要求元素類型的配置而不要求可能會用到的任何數組或者list類型。比如,我們有一個簡單的源和目標類型: 支持所有的基本泛型集合,代碼如下: } 以上代碼是集合和集合之間的映射,但是映射的配置 ...