首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OData是否允许用户使用IQueryable查询SQL数据库?

OData是否允许用户使用IQueryable查询SQL数据库?
EN

Stack Overflow用户
提问于 2019-08-20 15:24:24
回答 1查看 234关注 0票数 1

有没有什么方法可以通过API参数来查询实际的EF数据库?

我们知道OData查询允许查询最终的结果API。是否可以使用IQueryable从OData查询Api层发送简单的SQL查询?

我们想要应用分页,而不是提取所有1000条记录,让一些API层,查询结果只需要(例如,结果5-10只),等等。这可能不是所有时间的最佳实践,只是需要选项存在于某些情况下。

代码语言:javascript
复制
/api/Product?$skip=5&$top=5

/api/persons?$orderby=name
/api/persons?$select=ID,Name
/api/students?$filter=Name eq ‘Todd’
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-20 15:41:15

参数$skip和$top确实存在于OData中,如果您在IQueryable上执行这些参数,它们应该可以正常工作。

例如,调用以下URL:

代码语言:javascript
复制
http://localhost:24367/TestData?$skip=5&$top=5

将跳过前5个记录,然后取下5个记录。

您的MVC操作(如果您是MVC )将如下所示:

代码语言:javascript
复制
[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/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57568575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档