c# - OData 中的实体继承

标签 c# .net asp.net-web-api odata

我有一个类似的 PoC 服务 odata.org's demo service
因此,在他们的演示中,他们有一个 Person 基本类型以及 Customer 和 Employee 派生类型。

我想查询派生类型 Employee 的所有(或过滤后)实例。
由于规范规定“一个实体在任何给定时间点最多可以是一个实体集的成员。实体集提供数据模型的入口点。”
Employees 的入口点是通过 Persons EntitySet,到目前为止一切顺利。
但我只是找不到通过@odata.type 进行过滤的方法。

我尝试过很多查询,例如:

/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cd9da8bfbea2a3bef2e9aba4a1b9a8bff08da2a9acb9ace3b9b4bda8" rel="noreferrer noopener nofollow">[email protected]</a> eq ODataDemo.Employee
/Persons?$filter=odata.type eq ODataDemo.Employee
/Persons?$filter=type eq ODataDemo.Employee
...
(根为:http://services.odata.org/V4/OData/(S(eq1ncar1ktn55khwjrukic3c))/OData.svc/Persons)

但没有返回 200 OK 状态代码。

最佳答案

尝试如下 Uri:

http://services.odata.org/V4/OData/(S(eq1ncar1ktn55khwjrukic3c))/OData.svc/Persons/ODataDemo.Employee

相关规范: Addressing Derived Types

关于c# - OData 中的实体继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25953895/

相关文章:

c# - Lambda 范围说明

c# - ResourceManager.GetString() FileNotFound 异常

c# - Autofac单例和非单例在一起

asp.net-mvc - ASP.NET 网络 API : authenticating using in memory hosting for Integration tests

c# - 我可以在 C# 中声明全局推断变量吗?

c# - 无法为媒体类型 'application/x-www-form-urlencoded' 生成示例

.net - 如何以编程方式检查 .NET 4.7 Target Pack 是否已安装?

c# - 在 C# 中向图像添加 EXIF 信息

c# - 如何使用 It.IsIn(someRange) 对多个字段迭代 POCO 属性的组合?

c# - 验证 ASP.NET Web API