J'ai créé un modèle de présentation et je souhaite le mapper (avec AutoMapper) dans le ViewModel. ViewModel est composite/parce que j'utilise des partiels et je veux réutiliser par exemple KeyboardsViewModel également sur d'autres vues/partials.Map ViewModel/partials avec AutoMapper
Comment puis-je mapper (configuration de mappage) ce modèle de présentation dans le ViewModel? Est-ce la bonne approche?
Merci!
public class MainPresentationModel : BasePresentationModel
{
// Should map into the MainViewModel.Keyboards.Keyboards
public int DefaultKeyboard { get; set; }
// Should map into the MainViewModel.Keyboards.DefaultKeyboard
public IList<Keyboard> Keyboards { get; set; }
// Should map into the MainViewModel.Something
public string Something { get; set; }
}
public class MainViewModel : BaseViewModel
{
public KeyboardsViewModel Keyboards { get; set; }
public string Something { get; set; }
}
public class KeyboardsViewModel
{
public int DefaultKeyboard { get; set; }
public IList<Keyboard> Keyboards { get; set; }
}
Modifié: Après avoir essayé, je pense que cela est une option:
Mapper.CreateMap<MainPresentationModel, MainViewModel>()
.ForMember(d => d.Keyboards, opt => opt.MapFrom(src => src));
Mapper.CreateMap<MainPresentationModel, KeyboardsViewModel>();
Il semble que cela fonctionne, mais je ne suis pas sûr que ce soit de manière optimale/correcte ...