物件到物件對映 AutoMapper

2021-10-24 13:54:36 字數 1585 閱讀 7929

用來解決乙個看似複雜的問題,這種型別的**編寫起來相當枯燥乏味,

官方文件:

入門

);

或動態服務位置,用於基於例項的容器(包括子容器/巢狀容器):​​​​​​​

或標記型別:

public class employeescontroller
當然還有很多可擴充套件性,比如:

有時,您需要完全控制從一種型別到另一種型別的轉換。通常,這是當一種型別看起來與另一種型別不一樣時,已經存在轉換函式,並且您希望從「鬆散」型別變為更強的型別,例如字串的源型別到int32的目標型別。

例如,假設我們的源型別為:​​​​​​​

public class sourcepublic string value2public string value3}
但您想將其對映到:​​​​​​​

public class destinationpublic datetime value2public type value3}
void convertusing(itypeconverterconverter);void convertusing() where ttypeconverter : itypeconverter;第乙個選項就是任何帶有源並返回目的地的函式(也有多個過載)。這適用於簡單的情況,但對於較大的情況則顯得笨拙。在更困難的情況下,我們可以建立乙個自定義的itypeconverter :​​​​​​​

public inte***ce itypeconverter
public void example());configuration.assertconfigurationisvalid();var source = new source;result.value3.shouldequal(typeof(destination));}public class datetimetypeconverter : itypeconverter}public class typetypeconverter : itypeconverter}
在第乙個對映中,從字串到int32,我們僅使用內建的convert.toint32函式(作為方法組提供)。接下來的兩個使用自定義itypeconverter實現。

當然還有很多功能需要去實際專案中實現。

物件關係對映

雙向一對一對映 class card 把關係的維護交給多方物件的屬性去維護關係 c 關係的擁有方負責關係的維護,在擁有方建立外來鍵。所以用到 joincolumn cascade 設定級聯關係,這種關係是遞迴呼叫 可以是 cascadetype.persist 級聯新建 cascadetype.re...

物件關係對映

雙向一對一對映 class card 把關係的維護交給多方物件的屬性去維護關係 c 關係的擁有方負責關係的維護,在擁有方建立外來鍵。所以用到 joincolumn cascade 設定級聯關係,這種關係是遞迴呼叫 可以是 cascadetype.persist 級聯新建 cascadetype.re...

ABP官方文件翻譯 2 7 物件到物件的對映

物件到物件的對映 mapto擴充套件方法 單元測試 介紹 對映乙個相似的物件到另乙個物件是常有的事情。因為兩個物件 類 有相似 相同的屬性,所以兩個相似物件之間相互對映是乏味 重複的。考慮乙個經典的應用服務方法如下 public class public void createuser create...