首页 > 解决方案 > 如何选择和扩展仅在派生类型中可用的属性

问题描述

我有三个实体,在一个继承层次结构中,如下所示。

<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 选项,我该如何支持?

标签: odataodatalib

解决方案



推荐阅读