2010-12-14 2 views
10

Automapper를 사용하면 객체의 속성 값을 문자열 인스턴스에 매핑하는 방법을 어떻게 처리합니까? 기본적으로 나는 Role 객체의 목록을 가지고 있고 Automapper를 사용하여 각 "name"속성의 내용을 문자열의 해당 목록에 매핑하려고합니다. 그래서 문자열의 목록으로 끝납니다. 확실한 대답을 가지고 있다고 확신하지만, "CreateMap"에 추가해야 매핑이 작동합니다. 내가 Automapper 사랑 (그리고 다수의 프로젝트에서 사용)Automapper : 객체의 속성 값을 문자열에 매핑

public class Role 
{ 
    public Guid Id{get;set;} 
    public string Name{get;set;} 
    ... 
    ... 
} 

// What goes in here? 
Mapper.CreateMap<Role, string>().ForMember(....); 

var allRoles = Mapper.Map<IList<Role>, IList<string>>(roles); 

답변

21

,하지만이 간단한 LINQ 문을 쉽게되지 않을 것 :

관련 코드의 예는 다음과 같습니다?

var allRoles = from r in roles select r.Name 

이 달성의 AutoMapper 방법 :이 경우

Mapper.CreateMap<Role, String>().ConvertUsing(r => r.Name); 
+0

당신은 아마 권리이며, 우리의 인프라에 맞는 것이지만, 그렇다고하더라도 나는 알고에 관심이있을 것입니다 방법을/경우 Automapper로 할 수 있습니다. –

+1

죄송합니다 - 귀하의 원래 질문에 대답 했어야합니다. :) 이 작동합니다. Mapper.CreateMap (). ConvertUsing (r => r.Name); – PatrickSteele

+0

Automapper 방식으로 이것을 제공해 주셔서 감사합니다. 정확히 내가 원하는대로 작동합니다. –

관련 문제