【发布时间】:2021-03-17 21:37:32
【问题描述】:
我在我的 asp.net core3.1 应用程序中使用 OData,以及将分页委托给客户端的内容。我被困在如何返回给定条目数的日志,即表中的条目总数。例如,有一个包含 100 个条目的表,我希望能够获取此信息以准确了解如何创建我的页面组件。
服务注册
services.AddOData();
配置
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
endpoints.EnableDependencyInjection();
endpoints.Expand().Select().Count().Filter().OrderBy().SkipToken().MaxTop(20);
});
这是终点
[HttpGet]
[EnableQuery]
[Produces("application/json")]
public IActionResult Get()
{
var query = dbContext.Users;
return Ok(query);
}
我正在使用这个查询 -
https://localhost:1234/api/users?$count=true&$select=id,name,version&$skip=0&$top=5
仅输出 5 个对象的列表,没有额外的元数据。
[
{
Id: "1",
Name: "a",
Version: "1"
},
... 4 more objects
]
【问题讨论】:
-
您应该向我们展示结果的 sn-p,该 URL 应该包含结果
-
我的答案中包含了一个证明,但是您的控制器逻辑会对此产生很大影响,因此您也应该将其包含在您的帖子中。
-
@ChrisSchaller,我已经用所有缺失的信息更新了问题
标签: c# asp.net-core odata asp.net-core-odata