我们有一个现有的REST API,它使用ASP.NET Core(2.1),EntityFramework Core(2.1)和数十个控制器构建,这些控制器基本上在数十个SQL表上提供CRUD。很简单。
每个控制器都有一种方法(通过DbContext)从SQL表中获取数据,将检索到的模型映射到“ DTO”中并作为ActionResult返回。
我们收到了很多反馈,以实现简单的查询API的方式,例如OData方式。
是否有可能在现有DbContext上将OData集成到现有控制器中,并尊重现有路由?
理想情况下,我会做一些配置,然后在要向其提供OData查询的方法上添加[Queryable]。
我发现的每个示例都包含以下代码:
routes.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());