我如何使用BreezeJS查询一个以上条件的子实体

How do I query a child entity for more than one condition using BreezeJS?

本文关键字:条件 实体 一个以 何使用 BreezeJS 查询      更新时间:2023-09-26

我有一个批处理实体,它可以有许多批处理站。我想得到的批处理的,有一个批处理站的站号为4,站开始为空。我知道我可以这样做:

query.where('BatchStations', 'any', 'StationNumber', '==', 4)

但是我如何检查站开始是否为空呢?我尝试添加and(),但这再次贯穿所有批处理站。我想比较同一批处理站的这两种情况

使用谓词:

var pred = Predicate.create("StationNumber", "==", 4)
                       .and("StationStart", "==", null);
var query = new EntityQuery.from(...).where("BatchStations", "any", pred);

我明白了!

我必须使用breeze.Predicate.and()创建一个子谓词并将它们"and"放在一起来创建一个谓词。下面是我的解决方案:

var p1 = new breeze.Predicate('StationNumber', '==', 4);
var p2 = new breeze.Predicate('StationStart', '==', null);
var p3 = new breeze.Predicate.and(p1, p2);
var p4 = new breeze.Predicate('BatchStations', 'any', p3);
query = query.where(p4);