使用C#中的Automapper将源属性值转换为自定义目标值

问题描述 投票:1回答:1

我有一个

Source.foo = 1;

和类型

Destination.foo

是字符串,我想根据我在Source.foo中获得的数字选择自己分配给Destination.foo的值。

有没有办法可以改造

Source.foo = 1 to Destination.foo = "A" 
Source.foo = 2 to Destination.foo = "B"

等等?

c# asp.net automapper asp.net-core-2.0
1个回答
2
投票

是的,你可以这样做:

Mapper.CreateMap<Source, Destination>()
.ForMember(x => x.foo, cfg => cfg.MapFrom(x => GetFooValue(x)));

然后你可以编写GetFooValue来返回你想要的任何东西。举个例子:

private string GetFooValue(int foo){
    if(foo == 1)
        return "A";
    ...
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.