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

Converting source property value to custom destination value using Automapper in C#

我有一个

Source.foo = 1;

和类型

Destination.foo

字符串,我想根据我在Source.foo.[=14中得到的数字自己选择分配给Destination.foo的值=]

有什么方法可以改造

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

等等?

是的,你可以这样做:

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

然后您可以将 GetFooValue 写入 return 任何您想要的内容。例如:

private string GetFooValue(int foo){
    if(foo == 1)
        return "A";
    ...
    ...
}