2014-02-19 1 views
3

automapper로 매핑을 만들어야합니다.원본에서 대상으로의 대상을 포함하는 Automapper 맵

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

목적지

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

사람 클래스 I 매핑을

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

를 만들기 위해 노력하고 있지만, 이름, 성을지도하는 방법을 모른다

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

입니다 ~ 이 솔루션은 Person의 새로운 인스턴스를 생성해야

답변

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

대상자의 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 
       ; 
관련 문제