您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何像SQL连接一样使用OData Expand?

如何像SQL连接一样使用OData Expand?

正确的方法是:

http://odata.stackexchange.com/codingdict/atom/Users(1569)?$expand=Comments

问题在于数据源中似乎没有用户(不知道为什么),因此上述查询将返回404。但这是正确的语法。

这个想法是,如果您只想获得有关一个??用户的信息,则可以通过使用来“导航” /Users(1569) (括号中的内容是实体集的主键)。然后,如果您还想包含所有注释,只需添加$expand=Comments。如果您只需要注释而不是有关用户的信息,则可以执行此操作/Users(1569)/Comments

请注意,您使用的服务未定义导航属性,因此上述内容将无法正常使用,因为“连接”实际上不受支持。但是stackexchange odata端点确实定义了导航属性

基本上,联接是在服务器/服务上定义的,因此客户端不必知道哪个列是哪个主键的外键。

它还对不使用关系数据库作为存储的数据源有所帮助,因为它不会强迫它们创建伪外键。

您可以扩展图的其他“层”。如果在扩展中返回的实体还定义了其他导航属性,则可以指定以逗号分隔的导航属性列表。

这是一个组合服务的示例,请注意,这正在扩展集合中的每个客户,这类似于多重联接。

.../Customers?$expand=Orders,OrderDetails
SQLServer 2022/1/1 18:50:56 有361人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶