我正在尝试确定 Automapper 是否是从基本 DTO 集合构建父/子对象图的可行选项,并且我无法找到我希望的那种方法的示例。
例如,我有以下 DTO 类。
public class CourseDTO {
public int CourseID { get; set; }
public string CourseName { get; set; }
}
public class EnrolmentDTO {
public int EnrolmentID { get; set; }
public int CourseID { get; set; }
public int StudentID { get; set; }
}
public class StudentDTO {
public int StudentID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我有一个返回 DTO 集合的存储库。例如,范围内的课程集合、这些课程的注册集合、这些注册的学生集合。
然后我有这个对象图类:
public class Course {
public int CourseID { get; set; }
public string CourseName { get; set; }
public List<Enrolment> Enrolments { get; set; }
public class Enrolment {
public int EnrolmentID { get; set; }
public int CourseID { get; set; }
public int StudentID { get; set; }
public Student Student { get; set; }
}
public class Student {
public int StudentID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
我希望能够在 Automapper 配置中抛出 DTO 集合并取回 Course 对象的集合,其中填充了属性和子对象属性。Automapper 是否适合这个,任何人都可以给我任何指示或工作示例吗?谢谢。
更新澄清:
我试图让 Automapper 做的基本上是这样的:
给定一组集合,例如 CourseDTO 列表、EnrolmentDTO 列表和 StudentDTO 列表
首先将 CourseDTO 列表中的对象映射到 Course 列表,即对象图 'root'
然后将 EnrolmentDTO 列表中的对象映射到对象图中,匹配 CourseID 值以确保与特定课程相关的注册成为映射的子对象。
然后将 StudentDTO 列表中的对象映射到 Enrollment 对象图中,以确保映射到与该注册相关的学生。