【发布时间】:2019-08-07 22:52:28
【问题描述】:
我正在尝试使用 OData 进行分页,但返回的数据集似乎没有被查询的完整集合的总数。
我在一些问题中查看了 SO - here、here 和 C# Corner 有 this 关于使用 Asp.Net Core 的 OData 的教程。
当您进行分页时,我的理解是您需要指定开始和跳过以及总项目数等。从我正在阅读的内容来看,Asp.net Core OData 没有inlinecount作为查询选项。
如果是这种情况,您究竟如何获得页面集的总项目数?
我在 startup.cs 中有以下内容:
app.UseMvc(routeBuilder => {
routeBuilder.EnableDependencyInjection();
routeBuilder.Expand().Select().OrderBy().Filter().MaxTop(null).Count().Expand();
我的控制器中有:
[HttpGet("Index", Name = "ClientIndex")]
[EnableQuery()]
public IQueryable<Client> GetClients() {
return _context.Clients;
}
目前的查询是:
http://localhost:57500/#clients/clientsList?$top=10&$orderby=ClientNo asc,ClientLastName asc,MobilePhone asc
所以,为了成功实现分页,我需要数据库表中的总记录,但您似乎无法获得此值作为响应..
【问题讨论】:
标签: asp.net-core odata