有没有办法在 OData 中说“展开一切”?

问题描述 投票:0回答:2

假设我有一个对象,上面有 13 个实体。

当我进行通用数据选择时,必须将它们全部展开是很乏味的。

有没有办法扩展该对象上的所有对象(但不是子对象)? (我指的是在 C# 代码中执行此操作,而不是在 OData URL 中执行此操作。)

c# wcf-data-services odata
2个回答
1
投票

没有内置任何东西可以做到这一点。 您可以编写一个辅助方法,该方法将使用反射,检查有问题的类型并确定导航属性列表,然后在查询中添加它们的扩展。 另一方面,选择加入扩展的原因是它是有代价的(有效负载很快就会变大)。


0
投票

要展开 OData 实体的所有引用和集合属性,您可以使用 Expand=* 语法。

例如:

https://localhost:44319/api/odata/Project?&$expand=*
© www.soinside.com 2019 - 2024. All rights reserved.