有没有办法说“展开一切”?在 OData 中?
假设我有一个对象,上面有 13 个实体。
当我进行通用数据选择时,必须将它们全部展开是很乏味的。
有没有办法扩展该对象上的所有对象(但不是子对象)? (我指的是在 C# 代码中执行此操作,而不是在 OData URL 中执行此操作。)
Say I have an object that has 13 entities on it.
Having to expand them all when I am doing a generic select of data is tedious.
Is there way to expand all the objects on that object (but not sub objects)? (I am referring to doing this in C# code, not in the OData URL.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有内置任何东西可以做到这一点。
您可以编写一个辅助方法,该方法将使用反射,检查有问题的类型并确定导航属性列表,然后在查询中添加它们的扩展。
另一方面,选择加入扩展的原因是它是有代价的(有效负载很快就会变大)。
There's nothing built in to do this.
You could write a helper method which would use reflection, inspect the type in question and determine the list of navigation properties and then add the expands for them on your query.
On the other hand, the reason expand is opt-in is that it comes at a cost (the payloads get larger really quick).
要展开 OData 实体的所有引用和集合属性,可以使用 Expand=* 语法。
例如:
To expand all reference and collection properties of an OData entity, you can use the expand=* syntax.
For example: