我不知道 URI http://services.odata.org/OData/OData.svc/Categories(1)/Products
和 http://services.odata.org/OData/OData.svc/Categories(1)/$links/Products
。在 http://www.odata.org/documentation/uri-conventions/#AddressingLinksBetweenEntries文档解释不够清晰。
最佳答案
在本例中,第一个遍历导航属性(产品),并将返回产品实体的提要(与 ID 1 的类别相关的所有产品)。您可以将其想象为访问导航的值属性(property)。它允许您访问导航属性的“另一侧”。
第二个用于解决关系本身。它返回寻址产品的 URL 列表,但不会返回实体本身。 $links URL 上的 GET 通常不太有用(有时可能有用)。此 URL 对于更新更为重要。例如,如果您有一个 ID 为 1 的现有类别和一个 ID 为 42 的现有产品,并且您希望该产品属于该类别,您可以将 POST 发送到上面的 $links URL,并在有效负载中将 URL 发送到ID 为 42 的产品。这将在两个实体之间创建关系。 $links URL 允许您访问导航属性的“链接”。
关于wcf-data-services - OData NavigationProperty 和 $links 段之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11981494/