Breeze 获取具有0个连接表的实体

Breeze 获取具有0个连接表的实体,breeze,Breeze,我们有几个不同的实体。为了更好地解释,以下是示例结构: 我们有很多学生。 我们有很多家庭作业。 每个家庭作业有N个(每个家庭作业不同)任务。 有一个连接学生和任务的连接表 我们想在家庭作业中给某些学生分配一些任务。假设一个家庭作业有5个可能的任务,我们希望每个学生都有一个或多个任务 目前,该界面列出了所有具有某些属性的学生(比如说,平均成绩、头发颜色、姓名、性别等),并有5个复选框(所选作业中有5项任务)。我们可以使用过滤器仅显示平均成绩为4的学生,或仅显示女生等 过了一段时间,你会分配98%的

我们有几个不同的实体。为了更好地解释,以下是示例结构:

我们有很多学生。 我们有很多家庭作业。 每个家庭作业有N个(每个家庭作业不同)任务。 有一个连接学生和任务的连接表

我们想在家庭作业中给某些学生分配一些任务。假设一个家庭作业有5个可能的任务,我们希望每个学生都有一个或多个任务

目前,该界面列出了所有具有某些属性的学生(比如说,平均成绩、头发颜色、姓名、性别等),并有5个复选框(所选作业中有5项任务)。我们可以使用过滤器仅显示平均成绩为4的学生,或仅显示女生等

过了一段时间,你会分配98%的学生,但你注意到有2%的学生没有任何作业(一些统计数据显示)。我们希望创建一个使用现有过滤器的过滤器,并应用额外的过滤器来显示所有有0个任务的学生,其中task.homeworkind=X

现在,在我的脑海中有一个可能的解决方案,但我不确定使用breeze是否可行:

from students 
    where (OLD_FILTERS)
       and ((from junction_table 
           where task.homeworkId = selectedHomeworkId
                 and student.id = $parent_query.id).count() = 0)
我已经考虑了一段时间了,想不出一个干净的解决方案。唯一让我想到的是一个非常复杂的解决方案,手动过滤所有学生的属性,并在服务器上设置新的条件

提前感谢您的帮助

编辑

相关表格如下:

学生-连接表=1到多

任务-连接表=1对多(基本上,它是通过连接实体的多对多学生任务)

任务-家庭作业=多对1(每个家庭作业有多个任务)

对模型的一些看法:

Student:
   Id
   Property1
   Property2
   ...

Homework
   Id
   Property1...

Task
   Id
   HomeworkId   // this is foreign key
   Property....


JunctionTable
   Id
   TaskId   // foreign key
   StudentId   // foreign key

谢谢丹尼斯克的帮助。我们使用了旧版本的Breeze,但没有必要的选项。解决方案是简单谓词:

var pred = breeze.Predicate.create("studentTasks", "any", "task.homeworkId", "==", homeworkId).not();

Breeze可以组合复杂的查询。我知道这并不能直接回答你的问题,但我只是想告诉你,看看是否有什么能满足你的需要。如果您仍在努力编写复杂的查询,也许您可以向我提供有关这些不同表之间的关系的更多详细信息(例如,关系的类型(1对多、多对多等))。我已经阅读了几次文档,其中没有任何帮助。我们已经有了很多复杂的查询,但这是我们没有做到的。我在问题的末尾添加了一些解释,希望它能解释一些事情。这里有些东西不太相关。我没有看到
学生
家庭作业
之间的任何关系,要从
学生
转到
家庭作业
,必须从
学生->学生任务(假设这是连接表的名称)->任务->家庭作业
。因此,如果一个
学生
没有任何
任务
,他就不会有任何
作业
。但这正是您通过比较
task.homeworkind=selectedhomeworkind
试图找到的。如果我遗漏了什么,请告诉我。这是正确的。你是说我也应该有学生作业交接台吗?这将是一种多对多的关系。。它没有任何价值。。。如果我错了,请纠正我。好吧,在当前模型中,一个
学生
和0
任务
表示
学生。学生任务
收集计数为0。因此,您可以创建以下查询来执行此操作
var pred=breeze.Predicate.create(“studentTasks”,“any”,“id”,“!=”,null).not()
var query=breeze.EntityQuery.from('Students')。其中(pred)。我想我还是不明白作业是怎么起作用的。