C#ODATA,使用子实体展开N Level

我真的需要你的帮助来实现以下目标:

首先让我向您展示我的数据库数据模型:

1- mebs_schedule=>mebs_ingesta 2- mebs_ingesta=>mebs_ingestadetails 3- mebs_ingesta=>mebs_videoitem 4- mebs_ingesta=>mebs_channel=>mebs_channeltuning 

使用下面的URI我可以得到这个树给出一个给定的时间表参考:

 mebs_schedule=>mebs_ingesta mebs_ingesta=>mebs_ingestadetails mebs_ingesta=>mebs_videoitem mebs_ingesta=> mebs_channel 

URI = "mebs_schedule({0})?$expand=mebs_ingesta/mebs_videoitem,mebs_ingesta/mebs_ingestadetails,mebs_ingesta/mebs_channel"现在我想获得每个mebs_channel出现的mebs_channeltuning集合。

我花时间在谷歌上找出了这个但是什么都没有。

一些试验性的:

mebs_schedule(79)?$expand=mebs_ingesta&expand=mebs_videoitem,mebs_ingestadetails,mebs_channel&expand=mebs_channe.mebs_channeltuning

最后一个问题是有没有办法扩展所有导入的数据模型。

谢谢你的帮助。

环境:VS .NET 2010 / C#4.0

这应该工作得很好:

 URI = "mebs_schedule({0})?$expand=mebs_ingesta/mebs_videoitem,mebs_ingesta/mebs_ingestadetails,mebs_ingesta/mebs_channel/mebs_channeltuning" 

我刚刚在最后添加了“/ mebs_channeltuning”。 请注意,您不需要明确地扩展mebs_channel,因为它将被扩展,因为它的子项被扩展(在更改之后)。

暂定的解决方案有很多问题。 一个是扩展需要前面的$符号(否则它不被识别为查询选项)。 其次是服务器通常只接受一个$ expand查询选项。 (而且。不是扩展的分隔符)。

没有办法扩展一切。 这是故意的,因为扩展使数据可能呈指数级增长,从而可能导致服务器和客户端上的问题。 客户必须明确要求每次扩展。