我有一个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非常聪明,可以完成剩下的工作。
答案 0 :(得分:11)
您需要一个自定义类型转换器:
Mapper.CreateMap<Student, int>().ConvertUsing(src => src.Id);