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 に答える