首页 > 解决方案 > ASP.NET Core OData 实现到现有项目

问题描述

我们有一个现有的 REST API,它使用 ASP.NET Core (2.1)、EntityFramework Core (2.1) 和数十个控制器,基本上在数十个 SQL 表上提供 CRUD。非常简单。

每个控制器都有一个从 SQL 表中获取数据的方法(通过 DbContext),检索到的模型被映射到“DTO”并作为 ActionResult 返回。

我们收到很多反馈来实现简单的 API 查询方式,例如 OData 方式。

是否可以在现有 DbContext 上将 OData 集成到现有控制器,尊重现有路由?

理想情况下,我会做一些配置,然后在我想要提供 OData 查询的方法上添加 [Queryable]。

我发现的每个示例都包含这样的代码:

routes.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());

标签: asp.netasp.net-core.net-coreodata

解决方案


推荐阅读