有没有什么方法可以通过API参数来查询实际的EF数据库?
我们知道OData查询允许查询最终的结果API。是否可以使用IQueryable从OData查询Api层发送简单的SQL查询?
我们想要应用分页,而不是提取所有1000条记录,让一些API层,查询结果只需要(例如,结果5-10只),等等。这可能不是所有时间的最佳实践,只是需要选项存在于某些情况下。
/api/Product?$skip=5&$top=5
/api/persons?$orderby=name
/api/persons?$select=ID,Name
/api/students?$filter=Name eq ‘Todd’发布于 2019-08-20 15:41:15
参数$skip和$top确实存在于OData中,如果您在IQueryable上执行这些参数,它们应该可以正常工作。
例如,调用以下URL:
http://localhost:24367/TestData?$skip=5&$top=5将跳过前5个记录,然后取下5个记录。
您的MVC操作(如果您是MVC )将如下所示:
[EnableQuery]
public IHttpActionResult Get()
{
var result = GetData().AsQueryable();
return Ok(result);
} 更多信息可以在这篇优秀的文章中找到:https://www.c-sharpcorner.com/article/paging-with-odata-and-Asp-Net-web-api/
https://stackoverflow.com/questions/57568575
复制相似问题