OData NavigationProperty和$ links段之间的区别

INs*_*INs 2 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文档说明不够清楚.

Vit*_*SFT 5

第一个穿越在这种情况下,导航性能(产品),并返回产品实体的饲料.你能想象这是访问的导航属性的值(所有这些都需要与ID 1类别的产品).它允许您访问导航属性的"另一侧".

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