AutoMapper carte à partir de la source de collection imbriquées à une autre collection

EDIT: le Titre est incorrect, je suis en train de carte à partir d'une source liste imbriquée modèle de la liste source.

Je vais avoir du mal à essayer de mapper une liste à l'autre répertoriés dans un modèle imbriqué. Genre de et nations unies-aplatir de toutes sortes. Le problème est que je ne sais pas comment faire les mappages.

Voici mon set up suivi mes tentatives ont échoué à la cartographie:

public class DestinationModel
{
    public DestinationNestedViewModel sestinationNestedViewModel { get; set; }
}

public class DestinationNestedViewModel
{
    public List<ItemModel> NestedList { get; set; }
}

public class SourceModel
{
    public List<Item> SourceList { get; set; }
}

L'emplacement de l'Élément et ItemModel ont déjà une cartographie définie entre eux

Je ne peux pas le faire de cette façon...

Mapper.CreateMap<SourceModel, DestinationModel>()
.ForMember(d => d.DestinationNestedViewModel.NestedList,
    opt => opt.MapFrom(src => src.SourceList))

ERREUR:

'Expression d => d.DestinationNestedViewModel.NestedList " doit se résoudre à haut niveau de membre.Nom du paramètre: lambdaExpression

J'ai ensuite essayé quelque chose comme ceci:

.ForMember(d => d.DestinationNestedViewModel, 
 o => o.MapFrom(t => new DestinationNestedViewModel { NestedList = t.SourceList }))

Le problème, c'est
NestedList = t.SourceList.
Ils contiennent chacun des différents éléments, ItemModel et Élément respectivement. Donc, ils doivent être mappés.

Comment cette carte?

  • Je ne suis pas sûr si je comprends bien, mais je pense que vous avez besoin pour créer un mappage d'un Élément à ItemModel, donc AutoMapper sait Élément de la carte des objets à ItemModel objets.
  • Il y a une cartographie déjà défini entre l'Élément et ItemModel, mais la cartographie n'est pas d'être déclenchée car NestedList appartient à une DestinationModel qui, à son tour, appartient à DestinationNestedViewModel. Automapper ne peut pas gérer les 2 niveaux de modèles lors de la cartographie (au moins pas de la façon que j'ai essayé)
InformationsquelleAutor getit | 2012-05-18