我有一个用例,我使用实体的子属性集合并过滤它以显示在表中。
我知道“any”和“all”查询运算符,但据我所知,它不会过滤实体上的实际子属性集合。
所以基本上当我做这样的查询时:
var query = EntityQuery.from("Farms")
.where("FarmYields", "any", "year", "==", 2010);
然后,结果只有FarmYields按照预期生产2010年的农场。但是,无论年份如何,每个Farm实体上的FarmYields集合仍然具有所有FarmYield。
为了让我的结果只显示我感兴趣的FarmYields我想过滤子集合,但修改FarmYields似乎是一个错误的移动,因为它是非标量导航属性。
我想我的问题是如何过滤实体的子属性集合,或者我在这里完全错误的路径。任何指导都将非常感谢。
答案 0 :(得分:0)
如果您从FarmYields开始查询,我认为您可以实现您想要做的事情。像,
var query = breeze.EntityQuery.from('FarmYields')
.where('year', '==', 2010)
.expand('Farm');
mgr.executeQuery(query)
.then(function (data) {
var underscore = _;
var farms = underscore.pluck(data.results, 'Farm');
});
现在,您的农场系列只会有“农场”,其中“年”和“年份”为等于2010