2012-06-22 3 views
3

나는 다음과 같은 유형 UserProfile에 유형 UserProfileEditorViewModel을지도하기 위해 노력하고있어입니다 .AutoMapper 값은 잘못된 유형

이에 대한 나의 매핑 구성은 다음과 같습니다 TagNameStringToTagCollectionResolver의 모습

Mapper.CreateMap<UserProfileEditorViewModel, UserProfile>() 
       .ForMember(
        dto => dto.Tags, 
        opt => opt.ResolveUsing<TagNameStringToTagCollectionResolver>()); 

:

protected override IEnumerable<Tag> ResolveCore(string source) 
     { 
      return _getTagsByNamesQuery.Invoke(source.Split(',')); 
     } 

어떤 아이디어가 그 예외를 throwning 왜? Automapper에 익숙하지 않고 약간 혼란 스럽습니다.

답변

3

여기서 TagNameStringToTagCollectionResolverResolveCore 메서드에 UserProfileEditorViewModel 유형의 매개 변수를 허용해야한다는 것입니다.

표시되는 오류 메시지는 매핑의 어딘가에서 UserProfileEditorViewModel 값을 제공해야 할 때 메서드의 서명에 string 유형의 값을 제공한다는 것을 나타냅니다.

문구가 주어지면 약간 혼란스러운 예외가되지만 문제는 덜 해결할 수 있습니다.

protected override IEnumerable<Tag> ResolveCore(UserProfileEditorViewModel source) 
     { 
      return _getTagsByNamesQuery.Invoke(source.Tags.Split(',')); 
     }