我想使用Automapper使用ForMember(?)指定一列作为要映射的对象类型的枚举值。
例如我有
class base
class A : base
class B : base
enum objTypeEnum
{
istypebase,
istypea,
istypeb
}
基本包含属性
objTypeEnum TypeEnum;
在映射期间,我想解析要映射到TypeEnum属性的对象的类型:
.ForMember(dest => dest.TypeEnum,opt => opt.MapFrom())
无法确定解析器及其使用方法。使用我创建的解析器,MapFrom抱怨它需要源定义。
答案 0 :(得分:0)
是的,您可以使用ForMember
方法,并定义一个表达式,其参数为source
。因此,使用源提供您想要在destination
属性上设置的内容。
.ForMember(dest => dest.TypeEnum,
option => option.MapFrom(source => {
// some logic here based on source object to convert it to enum
// for sample:
if (source.Prop == null)
return TypeEnum.A;
else
return TypeEnum.B;
}))