我并不完全理解here under the $filter documentation提供的示例中的any
语法。我也无法找到更多关于它的信息。
查询多值属性时支持任何。例如:https://graph.windows.net/contoso.com/users?api-version=2013-11-08& $ filter = userPrincipalName eq'Mary@Contoso.com'或proxyAddresses / any(c:c eq'smtp:Mary@Contoso.com')
c:c
部分是什么?看起来像一个lambda ......
答案 0 :(得分:2)
什么是c:c部分?好像是lambda ......
是的,你是对的。我们可以从tutorial
获取有关$ filter Lambda Operators的更多信息OData定义了两个运算符 any 和 all ,用于计算集合上的布尔表达式。他们可以处理集合属性或实体集合。
根据UserEnity,我们可以知道proxyAddresses是 Collection(Edm.String)。因此any(c:c eq 'smtp:Mary@Contoso.com')
等于User.proxyAddresses.Where(c=>c.equals("smtp:Mary@Contoso.com")
。
答案 1 :(得分:1)
是的,你是对的。 c
是一个lambda变量,c eq 'smtp:Mary@Contoso.com'
是lambda表达式。
proxyAddresses/any(c:c eq 'smtp:Mary@Contoso.com')
将返回lambda表达式返回true的proxyAddresses
集合。
可以找到更多示例和解释here。