Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Automapper copy List to List

I have these classes:

public class Person {     public int Id{ get; set ;}     public string FirstName{ get; set ;}     public string LastName{ get; set ;} }  public class PersonView {     public int Id{ get; set ;}     public string FirstName{ get; set ;}     public string LastName{ get; set ;} } 

I defined this:

Mapper.CreateMap<Person, PersonView>(); Mapper.CreateMap<PersonView, Person>()     .ForMember(person => person.Id, opt => opt.Ignore()); 

That's work for this:

PersonView personView = Mapper.Map<Person, PersonView>(new Person()); 

I'd like to make the same but for List<Person> to List<PersonView> but I don't find the right syntax.

Thanks

like image 773
Kris-I Avatar asked Jan 17 '12 18:01

Kris-I


1 Answers

Once you've created the map (which you've already done, you don't need to repeat for Lists), it's as easy as:

List<PersonView> personViews =      Mapper.Map<List<Person>, List<PersonView>>(people); 

You can read more in the AutoMapper documentation for Lists and Arrays.

like image 54
Justin Niessner Avatar answered Sep 19 '22 18:09

Justin Niessner