如何使用AutoMapper将对象列表转换为整数列表?

时间:2010-09-21 02:02:49

标签: automapper flatten

我有一个Student对象:

public class Student
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

Classroom对象:

public class Classroom
{
    public List<Student> Students { get; set; }
}

我想使用AutoMapper将学生列表转换为学生ID列表:

public class ClassroomDTO
{
    public List<int> StudentIds { get; set; }
}

如何配置AutoMapper以执行此转换?

答案:

为了扩展我的问题和Jimmy的回答,这就是我最终做的事情:

Mapper.CreateMap<Student, int>().ConvertUsing(x => x.Id);
Mapper.CreateMap<Classroom, ClassroomDTO>()
      .ForMember(x => x.StudentIds, y => y.MapFrom(z => z.Students));

AutoMapper非常聪明,可以完成剩下的工作。

1 个答案:

答案 0 :(得分:11)

您需要一个自定义类型转换器:

Mapper.CreateMap<Student, int>().ConvertUsing(src => src.Id);