standard net mvc imapper example ejemplo custom c# .net c#-4.0 automapper automapper-2

c# - net - Automapper con lista de niños anidada



imapper c# (1)

Puede usar ForMember y MapFrom ( documentación ).
Su configuración de Mapper podría ser:

Mapper.CreateMap<Module, ModuleUI>() .ForMember(s => s.Text, c => c.MapFrom(m => m.Name)) .ForMember(s => s.ImagePath, c => c.MapFrom(m => m.ImageName)) .ForMember(s => s.PageUIs, c => c.MapFrom(m => m.Pages)); Mapper.CreateMap<Page, PageUI>();

Uso:

var dest = Mapper.Map<ModuleUI>(new Module { Name = "sds", Id = 2, ImageName = "sds", Pages = new List<Page> { new Page(), new Page() } });

Resultado:

Tengo dos clases debajo, el mapeo debe ser como este Id-> Id Name-> Text ImageName -> ImagePath Pages - PageUIs

¿Cómo puedo hacer esto usando Automapper?

public class Module { public int Id { get; set; } public string Name { get; set; } public string ImageName { get; set; } public virtual ICollection<Page> Pages { get; set; } } public class ModuleUI { public int Id { get; set; } public string Text { get; set; } public string ImagePath { get; set; } public List<PageUI> PageUIs{ get; set; } }