在 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";
...
...
}
我有一个
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";
...
...
}