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调用只会带来第一级的孩子,而不会带来整个家谱。使用嵌套展开,您可以执行一定数量的导航,但如果您不知道有多少导航,您将无法这样做