Odata O-直到iN的数据嵌套(其中n可以是任意数字)
我有一个场景,父项和子项位于同一个表中,它们的关系位于不同的表中 父表可以包含这样的数据Odata O-直到iN的数据嵌套(其中n可以是任意数字),odata,Odata,我有一个场景,父项和子项位于同一个表中,它们的关系位于不同的表中 父表可以包含这样的数据 Parent Table ---------------------- Id 111 Name Parent Parent Table ---------------------- Id 112 Name Child 也像这样 Parent Table ---------------------- Id 111 Name Parent Parent Table -----------
Parent Table
----------------------
Id 111
Name Parent
Parent Table
----------------------
Id 112
Name Child
也像这样
Parent Table
----------------------
Id 111
Name Parent
Parent Table
----------------------
Id 112
Name Child
关系表包含这些关系
这样地
关系表
112也可以是Id为113的人的父母
问题是我们如何在Odata中定义这种类型的关系
O-data包含订单-->产品的简单示例,其中两者都是按订单Id关联的不同实体
就我而言,父母和孩子都坐在同一张桌子上
----------------
ParentId1 ID2
111 112
112 113
那么,我们如何使用O-data实现这种嵌套关系呢?OData可以处理这一问题,如果您有一个general
Person
实体,您可以向该实体添加两个导航属性,一个名为的父对象
指向单个人
,另一个名为的子对象
指向人的集合。这将导致能够执行如下OData查询:
http://localhost/api/People('ParentId')/Children
要从父级导航到其子级,请执行以下操作:
http://localhost/api/People('ChildId')/Parent
要从子对象导航到其父对象OData可以处理这个问题,如果您有一个通用的人员
实体,您可以向该实体添加两个导航属性,一个称为父对象
,指向单个人员
,另一个称为子对象
,指向人员的集合。这将导致能够执行如下OData查询:
http://localhost/api/People('ParentId')/Children
要从父级导航到其子级,请执行以下操作:
http://localhost/api/People('ChildId')/Parent
从孩子导航到父母感谢您的回复。Odata可以处理,但只能达到一个级别。在我的例子中,级别可能非常深,所以一个Odata调用只会带来第一级的孩子,而不是整个家谱。使用嵌套扩展,您可以进行一定数量的导航,但如果您不知道有多少导航,您将无法这样做。感谢您的响应。Odata可以处理,但直到只有一个级别。在我的例子中,级别可能非常深,因此一个Odata调用只会带来第一级的孩子,而不会带来整个家谱。使用嵌套展开,您可以执行一定数量的导航,但如果您不知道有多少导航,您将无法这样做