sqlite-net-extensions,c# - 如何根据中间表的主键对对象的子进行排序?

时间:2018-06-07 08:42:48

标签: c# database sqlite sqlite-net-extensions

如何根据中间表的主键订购对象的子项?

为了进一步解释我的问题,我们假设我有两个模型:CourseStudent,它们具有多对多的关系。它们被定义为:

课程

[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)对其进行排序?

提前致谢!

0 个答案:

没有答案