Pregunta

I have a destination type with a string[] property.

Animal
  string[] Barks;

My source object is:

  AnimalDTO
     List<BarkTypes> Barks;

How do I map BarkTypes.NameOfBark to the string[] Barks?

Something like this:?

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

Solución

You want ResolveUsing:

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

Otros consejos

Completely untested, but:

Mapper.CreateMap<AnimalDTO, Animal>()
   .ForMember(dest => dest.Barks, 
              y => y.MapFrom(x=>x.Barks
                                 .Select(z => z.NameOfBark)
                                 .ToArray());
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top