OData NavigationProperty和$ links段之间的区别

时间:2012-08-16 06:01:53

标签: wcf-data-services odata

我没有意识到该URI http://services.odata.org/OData/OData.svc/Categories(1)/Productshttp://services.odata.org/OData/OData.svc/Categories(1)/$links/Products之间有什么区别。在http://www.odata.org/documentation/uri-conventions/#AddressingLinksBetweenEntries文档中,解释不够明确。

1 个答案:

答案 0 :(得分:5)

在这种情况下,第一个遍历导航属性(Products),并将返回Product实体的提要(所有与ID为1的类别相关的产品)。您可以将其想象为访问导航的值属性。它允许您访问导航属性的“另一面”。

第二个用于解决关系本身。它返回一个解决产品的URL列表,但它不会返回实体本身。获取$ links URL通常不太有用(有时可能)。此URL对于更新更为重要。例如,如果您有一个ID为1的现有类别和一个ID为42的现有产品,并且您希望该产品属于该类别,那么您将向上面的$ links URL发送一个POST,并在有效负载中发送一个URL到ID为42的产品。这将在两个实体之间建立关系。 $ links URL允许您访问导航属性的“链接”。

相关问题