Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Automapper map from Source to Destination containing List of Objects

I have to create a Mapping with automapper.

Public class Source
{
    public string Id;
    public string Firstname;
    public string Lastname;
}

Destination is

Public class Destination
{
    public string Id;
    public Person[] persons;
}

Person Class is

Public class Person
{
    public string FirstName;
    public string LastName;
}

I am trying to create mapping

AutoMapper.Mapper.CreateMap<Source, Destination>(); 

but I don't know how to map Firstname, Lastname to array of object Person.

like image 922
user2739679 Avatar asked Feb 19 '14 10:02

user2739679


1 Answers

AutoMapper.Mapper.CreateMap<Source, Destination>().AfterMap((s,d) => d.Person = new Person[] { FirstName = s.FirstName, LastName = s.LastName }));

This solution should create a new instance of Person however would you not be better off mapping them to a new class rather than an array?

like image 72
Heberda Avatar answered Dec 31 '22 16:12

Heberda