如何使用Breezejs中的any()创建json查询

时间:2016-10-17 18:02:34

标签: json odata breeze

我试图在Breeze中使用这个json谓词:

predicate.push({
        or: [
            { not: { relocationStates: { any: {} } } },
            { relocationStates: { any: { "state.id": { "eq": 11 } } } }
        ]
    });

not not :: {relocationStates:{any:{}}}的目的是包含所有具有空列表relocationStates的项目。

这应该创建一个odata URL,如下所示:

$filter=(not RelocationStates/any()) or (RelocationStates/any(x1: (x1/State/Id eq 11)))

以上oData网址工作正常,但breezejs无法使用以下内容创建网址和错误:

TypeError: Cannot read property 'key' of null

是否可以在Breezejs中创建一个json查询,该查询将返回子项目列表为空的所有项目?

1 个答案:

答案 0 :(得分:0)

这似乎是一个错误。我在微风中created an issue for it。您可以在下一个版本中获得修复。

一个粗略的解决方法是放入一些对relocationStates来说总是正确的子句,例如

{ not: { relocationStates: { any: { "id": { "ne": null } } } } }