6

我目前将所有不同的枚举值类型映射到一个小写的字符串值。我有多个地图,其中包含重复的逻辑。是否可以采用以下 AutoMapper 代码并告诉它始终将枚举转换为小写字符串值?

Mapper.CreateMap<Class1, OutClass1>()
   .ForMember(dest => dest.Enum1String, opt => opt.MapFrom(src => src.Enum1.ToString().ToLower()))
   .ForMember(dest => dest.Enum2String, opt => opt.MapFrom(src => src.Enum2.ToString().ToLower()));

Mapper.CreateMap<Class2, OutClass2>()
   .ForMember(dest => dest.Enum2String, opt => opt.MapFrom(src => src.Enum2.ToString().ToLower()));
4

1 回答 1

7

使用自定义类型转换器,告诉 Automapper 如何将枚举转换为字符串:

Mapper.CreateMap<Enum, String>().ConvertUsing(e => e.ToString().ToLower());
于 2012-07-26T12:44:57.050 回答