ASP.NET 核心 6 ODATA 计数未返回值

ASP.NET Core 6 ODATA Count not returning a value

我最近升级到 .NET 6 Core 预览版,但我遇到了 ODATA 的一些问题。在 .NET Core 3.1 中使用的功能不再有效。

这是我的启动代码段: 我也相信 EnableQueryFeatures() 默认情况下允许 Count

services.AddControllers().AddNewtonsoftJson(options =>
    { 
        options.SerializerSettings.ContractResolver = new DefaultContractResolver();
    }).AddOData(opt => opt
          .EnableQueryFeatures()
          .AddRouteComponents("odata", GetEdmModel()
    );

我有以下操作方法,调用时未返回计数 到前端。

pageResult保存了一个计数值,但是没有返回给前端, 当我使用 Chrome DevTools 检查结果时。

[Route("odata/Tasks")]
public PageResult<TaskModel> AjaxListOData([FromQuery]ODataQueryOptions queryOptions)
{            
    var result = queryOptions.ApplyTo(dataContext.Tasks) as IEnumerable<TaskModel>;
    var pageResult = new PageResult<TaskModel>(
    result,
    null,
    count: Request.ODataFeature().TotalCount);

    return pageResult;
}

我通过继承 ODataController 而不是从 ODataController 解决了这个问题 Controller.