Breeze预测了多个级别的孩子

时间:2014-02-14 09:11:37

标签: breeze

我是Breeze的初学者,遇到以下情况的问题 我有以下型号。 Person实体可以分配多个项目。一个项目可以有多个任务。每个任务都有一个优先级。我想让所有拥有至少一个项目的人员至少拥有一个优先级为“高”的任务。

我发现我可以使用'any'或'some'来与二级孩子一起工作。

var p1 = new breeze.Predicate.create('projects', 'some', 'client.code', 'Equals', 'ABC');

以上正确返回带有代码ABC的客户项目人员。但在我的情况下,我将不得不应用“任何”一级深度,也适用于任务,我找不到正确的方法。 谢谢你的帮助

1 个答案:

答案 0 :(得分:4)

您可以使用该语法嵌套多个any / all:

var query = breeze.EntityQuery.from('persons')
var p = new breeze.Predicate('projects', 'any', new breeze.Predicate('tasks','any','priority','>',1));
query = query.where(p);

您必须更改控制器的MaxAnyAllExpressionDepth属性以允许多个级别:

[BreezeNHController(MaxAnyAllExpressionDepth = 5)]