문제

Automapper의 새로운 팬으로서 어떻게 다음을 수행하는 데 어떻게 사용합니까?

다음 수업이 주어지면 항목 문자열 목록이 항목의 제목 속성에 맵핑되는 그룹에서 평평한 그룹을 만들고 싶습니다.

public class Group
{
    public string Category { get; set; }
    public IEnumerable<Item> Items { get; set; }
}

public class Item
{
    public int ID { get; set; }
    public string Title { get; set; }
}


public class FlattenedGroup
{
    public string Category { get; set; }
    public IEnumerable<string> Items { get; set; }
}

감사

조셉

도움이 되었습니까?

해결책

당신이 할 수있는 또 다른 일은 항목 -> 문자열에서 변환기를 만드는 것입니다.

Mapper.CreateMap<Item, string>().ConvertUsing(item => item.Title);

이제 그룹에서 특별한 일을 할 필요가 없습니다 -> flattenedgroup 맵 :

Mapper.CreateMap<Group, FlattenedGroup>();

그게 당신이 거기에 필요한 전부입니다.

다른 팁

이것을 시도해보십시오. 아마도 LINQ와 Lambda 표현식을 사용하여 그룹의 제목과 함께 Flattenedgroup의 문자열 목록을 매핑 할 수 있습니다.

Mapper.CreateMap<Group, FlattenedGroup>()
                .ForMember(f => f.Category, opt => opt.MapFrom(g => g.Category))
                .ForMember(f => f.Items, opt => opt.MapFrom(g => g.Items.Select(d => d.Title).ToList()));

System.linq를 사용하여 명령문에 추가하십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top