![](/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.