我们需要根据相关子表的属性值选择记录。我今天发现odata中支持这个功能,并带有一个名为'any'的关键字。此外,它在默认的breeze服务器实现中支持(使用实体框架)。使用我的breeze客户端所使用的相同服务器,我可以使用“any”关键字在浏览器中输入odata查询,并选择相关子项的字段值上的记录。例如:
.../Issue?$filter=oIssueImages/any(ii: ii/IssueImageRef eq 4)
它有效!但是,在breezejs客户端代码中没有对此的支持。
FWIW:我发现了这个微风功能请求:https://breezejs.uservoice.com/forums/173093-breeze-feature-suggestions/suggestions/3988038-adding-any-and-all-filter-operators
任何人都知道什么时候breeze会实现这个功能?
答案 0 :(得分:4)
从Breeze 1.4.6开始,现在支持“任何”和“所有”运算符。
所以你的客户端Breeze查询看起来像:
var query = EntityQuery.from("Issue")
.where("oIssueImages", "any", "IssueImageRef", "==", 4);
myEntityManager.executeQuery(query).then(...)
另见:http://www.breezejs.com/documentation/query-examples
请投票。这是一个非常好的功能,但我们确实尝试适应那些获得最多选票的功能。