我想在混合AND和OR谓词时为breeze.js配置正确的语法。我没有在微风网站上看到一个例子,在其他任何地方都找不到。breeze.js混合AND和OR谓词
基本上我想要做这样的事情在我的WHERE子句:
(
age > 30 AND
sex == 'M' AND
jobStartDate >= '1/1/2000'
)
OR
(
exemptStatus == 1
)
这将带回符合3个标准或免征该实体。我使用带有ODATA语法的EF6。
感谢
我想在混合AND和OR谓词时为breeze.js配置正确的语法。我没有在微风网站上看到一个例子,在其他任何地方都找不到。breeze.js混合AND和OR谓词
基本上我想要做这样的事情在我的WHERE子句:
(
age > 30 AND
sex == 'M' AND
jobStartDate >= '1/1/2000'
)
OR
(
exemptStatus == 1
)
这将带回符合3个标准或免征该实体。我使用带有ODATA语法的EF6。
感谢
试试这个:
var Predicate = breeze.Predicate;
var baseQuery = EntityQuery.from("Something");
var pred1 = new Predicate("age", ">", 30);
var pred2 = new Predicate("sex", "==", 'M');
var pred3 = new Predicate("jobStartDate", ">=", new Date(2000,1,1));
var pred4 = new Predicate("exemptStatus", "==", 1);
var compositePred = pred1.and(pred2).and(pred3).or(pred4);
var query = baseQuery.where(compositePredicate);
myEntityManager.executeQuery(query);
或
var compositePred = Predicate.and(pred1, pred2, pred3).or(pred4);
你尝试过什么?您可以轻松地创建两个复合谓词并将它们组合在一起。这部分的文档描述了它 - http://www.breezejs.com/sites/all/apidocs/classes/Predicate.html#method_create –