![](/img/trans.png)
[英]Automapper mapping multiple lists from source to single list on destination
[英]Automapper: multiple destination values populated from single source value
我的DTO(目的地)有一堆布爾值。
例如:
HasThisOption
HasThatOption
HasSomeOtherOption
通過在模型對象(源)的一個字段上進行一些計算來填充這些值。 這個計算有點貴,因此我不想對DTO上的每個字段進行相同的計算,我只想運行一次計算。
簡單的解決方案是從我的控制器中調用一個函數..即.. PopulateFields(source,dest)
但是我不希望在我的映射器配置中為每個目標字段調用Ignore ..因為它們中有大約40個......而且它看起來很混亂,這樣做真的沒有任何意義。
在這種情況下,人們通常會做些什么?
在定義源和目標類型之間的映射時,可以使用AfterMap
:
Mapper.CreateMap<Source, Dest>().AfterMap((source, dest) =>
{
// do your custom computations and assignments here
});
如果源類型中不存在布爾字段,則在標准映射期間它們將被忽略,並且在目標中具有其默認值。 AfterMap
方法允許您更改它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.