2014-02-20 5 views
0

자동 매핑을 사용하여 소스 클래스에서 대상 기본 클래스로 매핑해야합니다.오토 맵퍼를 사용하여 기본 클래스에 매핑

내 시나리오는 다음과 같습니다. 나는이 작동하지 않습니다 매핑 후 ID의

Mapper.CreateMap<Source, DestinationObject>() 
     .ForMember(d => d.ID, s => s.MapFrom(s.FirstID)) 
     .ForMember(d => d.ID, s => s.MapFrom(s.SecondID)) 

하나와 automapper 사용하는 경우

class Source 
{ 
    string FirstID { get; set; } 
    string SecondID { get; set; } 
} 

또한 나의 목적지는

class DestinationBase 
{ 
    string ID { get; set; } 
} 

class DestinationObject : DestinationBase 
{ 
    string Prop { get; set; } 
} 

다음과 같다. 이유를 알려주세요. 나는 포함을 시도했다. 그러나 나는 그것의 사용을 충분히 잘 이해하지 않는다고 생각한다.

+0

이 코드가 프로젝트에있는 실제 코드입니까? 이 맵은'Destination'을위한 것이지만'DestinationObject'와'DestinationBase'를 보여 줬습니다. 또한'Map'은 대문자이며 인수를 취합니다. 나는'ForMembers'라는 방법이 있다고 생각하지 않습니다. –

+0

이것은 내 코드베이스의 코드가 아니라 함께 작업하고있는 시나리오입니다. 나는 지금 그것을 편집 할 것이다. 감사합니다 – damola

답변

0

대상 개체에 ID 필드를 두 번 지정하면 ID는 s.SecondId의 값이됩니다.
대상 개체에서 FirstID 및 SecondId를 사용하여 수행하려는 작업은 무엇입니까?

+0

대상 객체가 더 oop 동안 relly 소스 객체는 평면 구조입니다. 기본 클래스는 ID 사용자 정의 데이터 유형의 수단으로 사용되며 id는 내용입니다. 나는 nom.automapper 용어로 unquie object foreach id를 얻으려고합니다. – damola

+0

단일 소스에서 여러 대상으로 매핑하는 방법을 모르겠습니다. (그것은 가능할 수도 있지만, 나는 어떤 예를 발견하거나 찾을 수 없었다). 이것이 일회성 상황이고 소스 객체가 매핑해야하는 ID가 몇 개 밖에 없으면 자신의 롤을 올리기가 더 쉽습니다. – fbranicky

관련 문제