AutoMapper:将子成员从复杂类型映射到string []

时间:2013-02-20 23:02:08

标签: c# automapper automapper-2

我有一个带有字符串[]属性的目标类型。

Animal
  string[] Barks;

我的源对象是:

  AnimalDTO
     List<BarkTypes> Barks;

如何将 BarkTypes.NameOfBark 映射到字符串[] Barks

这样的事情:?

Mapper.CreateMap<AnimalDTO, Animal>()
   .ForMember(dest => dest.Barks, y => y.MapFrom(x=>x.??????))

2 个答案:

答案 0 :(得分:1)

完全未经测试,但是:

Mapper.CreateMap<AnimalDTO, Animal>()
   .ForMember(dest => dest.Barks, 
              y => y.MapFrom(x=>x.Barks
                                 .Select(z => z.NameOfBark)
                                 .ToArray());

答案 1 :(得分:1)

您想要ResolveUsing

Mapper.CreateMap<AnimalDTO, Animal>()
      .ForMember(dest => dest.Barks,
                    y => y.ResolveUsing(x=>x.Barks
                                            .Select(b=>b.NameOfBark)
                                            .ToArray())
              )