2011-07-29 110 views
5

我開始爲我的項目使用AutoMapper。AutoMapper一對多關係

在此,我要做到以下幾點 '一到多' 的映射:

來源:

public class Team 
{ 
    int Id { get; set; } 
    string TeamName { get; set; } 
    List<Person> Member { get; set; } 
} 

public class Person 
{ 
    int Id { get; set; } 
    string Name { get; set; } 
} 

目的地:

public class TeamDetailsViewModel 
{ 
    int Id { get; set; } 
    string TeamName { get; set; } 
    List<int> MemberIds { get; set; } 
} 

如何與AutoMapper繼續嗎?這可能嗎?

非常感謝。

回答

12

此圖應該爲你工作:

CreateMap<Team, TeamDetailsViewModel>() 
    .ForMember(d=>d.MemberIds, o=>o.MapFrom(s=>s.Member.Select(m=>m.Id))); 

僅供參考...如果你是從一個數據庫獲得團隊,確保你渴望加載成員列表。

+0

謝謝!那就是我正在尋找的東西。週末愉快! – Robert