2017-04-20 39 views
0

我有一個很大的類,有30多個屬性,我需要從一個小的類映射到約6個自動映射的屬性(相同名稱,相同類型)。我不想在映射配置中維護24+ .Ignore()的列表,但是我確實希望能夠對我的所有映射運行AutoMapper的驗證例程;不過,我並不特別關心這個映射是否得到驗證。AutoMapper微型類到大型的驗證

我已經嘗試過使用ReverseMap和一些Ignore *方法來查看可能的工作。我認爲ReverseMap會是個訣竅,但無論是我使用它的方式都是錯誤的,或者它不會按照我的理解去做。它似乎沒有很好的記錄。

爲清楚:

public class LargeClass { 
    // 30+ properties here 
} 

public class TinyClass { 
    // 6 properties here that map perfectly to LargeClass 
    // 4-8 properties that do not map to LargeClass, by design 
} 

CreateMap<TinyClass, LargeClass>(); // Will not validate, 24+ unmapped properties on Destination :(

謝謝!

回答

1

ReverseMap是您想要從CreateMap調用中反轉地圖的時候。

這聽起來像你需要在你想驗證對成員名單經過:

CreateMap<TinyClass, LargeClass>(MemberList.Source); 

這證實了對源成員。

如果您需要更多文檔,請查看wiki!

+0

謝謝。我現在看到文檔中的位置;我曾經在那裏尋找過解決方案,但實際上我忽略了那個小小的事情,而這正是我所需要的。我真的很喜歡AutoMapper,所以當我說ReverseMap實際上沒有文檔時,請不要把它當作任何不敬之詞......維基上的兩個傳遞提及中沒有解釋如何使用它。 – pbarranis

+1

我認爲它會增長一些 - 我們正在考慮在下一個版本中擴展反向映射,因爲今天我不認爲它的工作原理是人們真正想要或期望的。 –