AutoMapper一对多关系

时间:2011-07-29 11:44:38

标签: automapper one-to-many

我开始在我的项目中使用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?这可能吗?

提前多多感谢。

1 个答案:

答案 0 :(得分:12)

此地图应该适合您:

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

仅供参考...如果您从数据库中获取团队,请确保您急于加载成员列表。