breeze.js混合AND和OR谓词

mwi*_*ill 2 mixing predicates breeze

我想在混合AND和OR谓词时为breeze.js配置正确的语法.我没有在微风网站上看到一个例子,在其他任何地方都找不到.

基本上我想在我的WHERE子句中做这样的事情:

(
age > 30  AND
sex == 'M' AND
jobStartDate >= '1/1/2000'
)

OR

(
exemptStatus == 1
)
Run Code Online (Sandbox Code Playgroud)

这将带回符合3个标准或免除的实体.我正在使用带有ODATA语法的EF6.

谢谢

Jay*_*and 7

试试这个:

    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);
Run Code Online (Sandbox Code Playgroud)

要么

    var compositePred = Predicate.and(pred1, pred2, pred3).or(pred4);
Run Code Online (Sandbox Code Playgroud)