La cartographie des Listes à l'aide de Automapper
J'ai l'classes:
public class Person{ /* Props here */ }
public class PersonViewModel { /* Props here */ }
La liste:
List<Person> people = new List<Person>();
List<PersonViewModel> peopleVM = Mapper
.MapList<Person, PersonViewModel>(people); //Problem here.
Quelle est la bonne façon de le faire?
Vous devez vous connecter pour publier un commentaire.
De Prise En Main:
1[[Econo.Domain.Person, Econo.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] to System.Collections.Generic.List
1[[Econo.Web.Viewmodel.PersonViewModel, Econo.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]. Une Exception de type " AutoMapper.AutoMapperMappingException " a été levée.`Mapper.Map<List<Person>, List<PersonViewModel>>(person)
etMapper.Map<List<PersonViewModel> ,List<Person>>(person)
Une Autre Solution
Et dans le Automapper config
Si vous utilisez IQueryable listes ici (à partir d'objectifs EF ou NH, par exemple), vous pouvez utiliser le AutoMapper.IQueryableExtensions méthodes de Projet, () et().
C'est ma première fois avec AutoMapper, mais je vais réussir par la création d'une carte juste pour le modèle:
Et puis, à l'aide de la IQueryableExtension méthodes de Projet() et():
Project()
est maintenant obsolète et doit être remplacée parProjectTo()
.En core 1.1 cette extension peut fonctionner:
Vous pouvez créer une méthode d'extension pour faire quelque chose comme ceci en utilisant les mappages existants pour les différents éléments:
Utilisation: