2012-10-17 3 views
2

대상 값이 null 인 경우에만 원본 값을 복사하려고합니다. 다음 맵을 사용하고 있습니다.대상 값을 기준으로 한 자동 복사

Mapper.CreateMap<BM.AudioSetting, BM.AudioSetting>() 
     .ForMember(dest => dest.MSOffsetInherited, opt => 
                 { 
                  opt.Condition(src => src.DestinationValue == null); 
                  opt.MapFrom(src => src.MSOffset); 
                 }); 

내 조건에 매핑되기 전에 대상 값이 null인지 확인하고 있습니다. 문제는 대상 값에 관계없이 항상 복사가 진행되고 있다는 것입니다.

내가 잘못 했나요?

덕분에 ISAM

+0

올바른 것처럼 보입니다. Automapper의 어떤 버전을 사용하고 있습니까? BM.AudioSetting의 클래스 정의를 올바르게 매핑되지 않은 존재하는 데이터와 함께 표시 할 수 있습니까? – PatrickSteele

답변

0

코드는 잘 작동합니다. 아마도 src.DestinationValue가 대상 객체의 속성이 될 것으로 기대하고 있습니다. 그렇다면 사용자 정의 type converter은 원하는 동작을 달성하는 데 도움이됩니다.

This post 사용자 정의 유형 변환기를 만드는 데 도움이됩니다.

0

원본과 대상 유형이 동일하다는 것을 알았습니다. 목적지 값이 null 일 때 본질적으로 객체를 복제하려고합니까? 그렇다면 AutoMapper가이 질문에 대한 의견에 따라 적절한 해결책이 아닐 수도 있습니다. Copy object to object (with Automapper ?)

관련 문제