2014-02-19 39 views
3

我必須創建一個映射與自動映射器。從源到目標的自動映射器映射包含對象列表

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

目標是

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

Person類是

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

我想創建映射

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

,但不知道如何映射名字,姓氏到a對象者

回答

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

這個解決方案應該創建的Person一個新實例的rray但是你豈不是更好它們映射到一個新的類,而不是一個數組?

0

我解決了它。

AutoMapper.Mapper.CreateMap<Source, Destination>() 
       .AfterMap((s, d) => d.persons= new Person[1]) 
       .AfterMap((s, d) => d.persons[0] = new Person{ FirstName= s.FirstName, LastName= s.LastName, RemoteId = s.Name 
       ;