J'utilise la dernière version de Auto Mapper 6.1.0'
. je Poll
et PolOption
tableaux comme ci-dessous:comment mapper la liste imbriquée à une autre liste avec AutoMapper
public class Poll
{
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public virtual ICollection<PollOption> Options { get; set; }
}
public class PollOption
{
public virtual string Title { get; set; }
public int Id { get; set; }
public int PollId { get; set; }
public virtual Poll Poll { get; set; }
}
et moi avons deux viewModels
pour ces modèles:
public class EditPollViewModel
{
public int Id { get; set; }
public virtual string Title { get; set; }
public List<PollOptionViewModel> Options { get; set; }
}
public class PollOptionViewModel
{
public int Id { get; set; }
public string Title { get; set; }
}
J'utilise cela pour config Auto Mapper:
config.CreateMap<Poll, EditPollViewModel>().ForMember(dest => dest.Options, src => src.MapFrom(t => t.Options));
mais quand je cours un projet avec le code ci-dessous, j'ai obtenu une erreur.
return Mapper.Map<EditPollViewModel>(model);
J'ai obtenu cette erreur:
configuration carte de type manquante ou mappage non pris en charge.
types de cartographie: POLLOPTION -> PollOptionViewModel
POLLOPTION ->
PollOptionViewModel
ajouter ce 'CreateMap() ReverseMap()' et réessayer. –
J'ai essayé cela mais le résultat était le même –
vous faites correspondre 'PollOption' à' PollOptionViewModel'! mais cela n'existe pas dans votre question. –