如何查询为空的关系?

How to query for relations that are empty?

我有两个具有一对多关系的 类:

@Entity()
class Lesson {
  final course = ToOne<Course>();
}


@Entity()
class Course {
  @Backlink('course')
  final lessons = ToMany<Lesson>();
}

我想查询不属于任何课程的所有课程。以下不起作用:

final qb = _box.query(Lesson_.course.isNull());

原因在issue中解释。

所以我必须这样做:

final qb = _box.query(Lesson_.course.equals(0));

对此有更好的或推荐的方法吗?

是的,对于 Dart 的 ObjectBox,在 ToOne 上添加等于 0 条件是查找没有 ToOne 目标的对象的方法:

final noToOneTargetQuery = box.query(Entity_.toOne.equals(0)).build();

有关更多信息,请参阅 ObjectBox for Dart test code