USERS集合包含USERGROUPS导航属性。
通过/api/Users?$expand=USERGROUPS
访问用户。
USERGROUPS导航属性包含ID,我想按UserGroups.Id过滤类似的内容:
/api/Users?$expand=USERGROUPS&$filter=startswith(USERGROUPS/ID,'a')
最终,我希望能够过滤特定的组ID值。
感谢。
答案 0 :(得分:14)
实际上OData V3支持any / all运算符。因此,例如,如果您要搜索属于id为'a'的用户组的所有用户,则查询将类似于:
/api/Users?$filter=USERGROUPS/any(usergroup: usergroup/ID eq 'a')
请注意,该功能仅在OData V3中受支持,因此您需要在服务器上启用该功能。
答案 1 :(得分:0)
- 已编辑 -
最初,我相信我找到了答案here:
OData不支持对导航属性进行过滤 集合
由于在我的数据集中,UserGroups是一个集合,因此无法对此属性执行过滤。
HOWEVER - 使用上面给出的语法,以及使用OData v3,这非常有效!