在BreezeJS中查询导航属性

时间:2014-04-03 08:56:56

标签: javascript breeze

当使用Breeze从服务器查询实体并包括导航属性时,所有这些实体都包含在内并通过网络发送。有没有办法只使用客户端代码返回一些导航属性?

让我们说客户及其订单。我们可以使用以下内容轻松过滤客户:

var query = entityQuery.from('Customers')
                .where('orders', 'any', 'price', '>', 1000)
                .expand('orders');

return manager.executeQuery(query);

这将返回订单价格超过1000的所有客户,并在实体中包含订单。但它会转移所有订单。

有没有办法只包含一些订单,例如仅使用客户端代码的成本超过1000的那些?

1 个答案:

答案 0 :(得分:1)

不幸的是,这不是OData语法(微风将您的查询转换为隐藏的内容)支持的功能。

那就是说,你可以反转查询。即。

 var query = entityQuery.from('Orders')
            .where('price', '>', 1000)
            .expand('customer');

这将在EntityManager缓存中生成您想要的实体。