如何根据中间表的主键订购对象的子项?
为了进一步解释我的问题,我们假设我有两个模型:Course
和Student
,它们具有多对多的关系。它们被定义为:
课程
[Table("course")]
public class Course{
[PrimaryKey, AutoIncrement, Column("pkey")]
public int PrimaryKey { get; set; }
[Column("course_name")]
public string CourseName { get; set; }
[ManyToMany(typeof(Course_Student))]
public List<Student> Students{ get; set; }
}
学生
[Table("course")]
public class Course{
[PrimaryKey, AutoIncrement, Column("pkey")]
public int PrimaryKey { get; set; }
[Column("course_name")]
public string CourseName { get; set; }
}
Course_Student(中间表)
[Table("course_student_link")]
public class Course_Student{
[PrimaryKey, AutoIncrement]
public int PrimaryKey {get; set;}
[ForeignKey(typeof(Course)), Column("course_id")]
public int CourseId{ get; set; }
[ForeignKey(typeof(Student)), Column("student_id")]
public int Student{ get; set; }
}
现在,如果我想访问所有注册某个课程的学生,我可以这样做
courseObject.Students()
但默认情况下,这会按Student
的主键对子对象进行排序。
如何订购courseObject.Students()
以便根据链接它们的表格的主键(Course_Student
)对其进行排序?
提前致谢!