假设我在官方示例中有一个多对多的关系:
public class Student
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
[ManyToMany(typeof(StudentSubject))]
public List<Student> Students { get; set; }
}
public class Subject
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Description { get; set; }
[ManyToMany(typeof(StudentSubject))]
public List<Subject> Subjects { get; set; }
}
public class StudentSubject
{
[ForeignKey(typeof(Student))]
public int StudentId { get; set; }
[ForeignKey(typeof(Subject))]
public int SubjectId { get; set; }
}
如果我现在要删除一个学生,则中间对象表示的关系记录也不会被删除。(如果我启用级联删除,主题将被删除——不应该发生的事情。)
目前我正在通过使用自定义查询删除记录来手动清理,但是 sqlite-net 有更好的方法吗?