在包含$ select的查询中获取属性的原始值

时间:2011-12-20 03:14:39

标签: odata

有没有办法在following query

中获取“名称”属性的原始值

我尝试在最后附加“/ $ value”但这不起作用。

这是另一个检索电影的“Synopsis”属性的原始值的示例,但我可以得到的只是完整的xml有效负载而不是原始的概要数据。 想法?

1 个答案:

答案 0 :(得分:2)

没有办法做到这一点主要是因为$ value只能处理单个结果,但是你展示的两个查询都可以返回多个结果(OData不明白过滤器是关键属性的,因此它只会返回一个结果)。

获取原始值的唯一方法是直接导航到单个结果,因此如果您知道实体的ID(在第一个查询的情况下,它是Name属性的值),那么可以使用此代替: http://odata.netflix.com/v2/Catalog/Genres( '20%在20世纪%20Period%20条') 这将返回单个结果(即使在模型中),因此您可以执行以下操作: http://odata.netflix.com/v2/Catalog/Genres( '20%在20世纪%20Period%20条')/名称/ $值 (虽然我不知道为什么你会这样做,因为你已经知道了这个名字: - ))

在第二个查询中,您不知道关键属性值,因此您必须先获得这些值才能直接导航到相关标题,然后您可以像上面一样进入概要。在这种情况下,$ top = 1并不意味着取单个结果(第一个),它只是意味着取“n”个结果,其中n恰好为1.在模型世界中,$ top = 1仍然返回可能有多个结果(即使在这种情况下,它实际上只返回1个)。