使用 AutoMapper 的通用枚举到小写字符串的映射

Phi*_*hil 6 c# automapper

我目前将所有不同的枚举值类型映射到一个小写的字符串值。我有多个地图,其中包含重复的逻辑。是否可以采用以下 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()));
Run Code Online (Sandbox Code Playgroud)

Pat*_*ele 6

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

Mapper.CreateMap<Enum, String>().ConvertUsing(e => e.ToString().ToLower());
Run Code Online (Sandbox Code Playgroud)