BreezeJS预测二级扩展实体

时间:2014-02-23 16:07:57

标签: breeze

此问题也有类似问题: Breeze work-around for multi valued property queries

嗯,这适用于一对多。 即父母实体可能有一个孩子,而这个孩子又有很多孩子。

我的情况是:产品有很多单位,特定单位有很多条形码。

var predicateBarcode = Predicate.create('units.barcodes','any','barcode', 'eq', searchText());

 var query = EntityQuery.from('Products')
             .expand('units.barcodes')
             // .take(10)
             .where(predicateBarcode );
            return manager.executeQuery(query)
                .then(querySucceeded)
                .fail(queryFailed);

执行查询会出错:

The parent value for a property access of a property 'barcodes' is not a single value. Property access can only be applied to a single value.

我已将谓词更改为:

var predicateBarcode = Predicate.create('units','any','barcodes','any','barcode', 'eq', searchText());

给出了另一个错误:

The Any/All nesting limit of '1' has been exceeded. 'MaxAnyAllExpressionDepth' can be configured on ODataQuerySettings or QueryableAttribute

这有什么办法吗? 感谢帮助。

1 个答案:

答案 0 :(得分:3)

鉴于谓词:

var predicateBarcode = Predicate.create('units','any','barcodes','any','barcode', 'eq', searchText());

我已将MaxAnyAllExpressionDepth属性添加到我的breeze控制器:

[BreezeController(MaxAnyAllExpressionDepth = 2)]

感谢@lnu ..