我开始在我的项目中使用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?这可能吗?
提前多多感谢。
答案 0 :(得分:12)
此地图应该适合您:
CreateMap<Team, TeamDetailsViewModel>()
.ForMember(d=>d.MemberIds, o=>o.MapFrom(s=>s.Member.Select(m=>m.Id)));
仅供参考...如果您从数据库中获取团队,请确保您急于加载成员列表。