0

我正在尝试确定 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 对象图中,以确保映射到与该注册相关的学生。

4

0 回答 0