odata - 如何选择和扩展仅在派生类型中可用的属性
问题描述
我有三个实体,在一个继承层次结构中,如下所示。
<EntityType Name="Base" Abstract="true">
<Property Name="id" Type="Edm.String" Nullable="false" />
</EntityType>
<EntityType Name="Derived1" Abstract="true" BaseType="Base">
<NavigationProperty Name="idps" Type="Collection(Idps)" />
</EntityType>
<EntityType Name="Derived2" Abstract="true" BaseType="Base">
<NavigationProperty Name="attributes" Type="Collection(Attributes)" />
</EntityType>
我想支持 idps 和属性的 $select 和 $expand 查询选项。
/base?$select=idps 给我以下错误
URI 中指定的查询无效。在“Base”类型上找不到名为“idps”的属性。”
什么是正确的 odata 选项,我该如何支持?
解决方案
ODL 支持 $select 和 $expand 中的类型转换段。
以下是一些您可以参考的测试用例:
测试用例涵盖了复杂类型转换,实体类型转换也是如此。
推荐阅读
- r - 通过在单独的 docker 容器中运行的 R 实例在本地保存 R 模型?
- javascript - 如何在javaScript中获得多个键盘输入
- javascript - 单击 vue js 子元素更改页面上的内容
- regex - 使用正则表达式去除电子邮件
- python - Pymongo 包无法安装
- r - 有没有办法在单个情节下绘制 2 个或更多 acfs
- android - 当我的用户访问我的博客时,如何将他们重定向到特定标签?
- nsis - 开始菜单应用程序列表中的卸载文件并不总是显示
- spring - 使用pring-data-r2dbc时如何解决spring TransactionSynchronizationManager.currentTransaction中的NoSuchMethodError
- r - 将列表列中的值分派到单独的列