0

我最近升级到.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()
    );

我有以下动作方法,当被调用时,计数不会返回到前端。

当我使用 Chrome DevTools 检查结果时, pageResult 包含一个计数值,但没有返回到前端。

[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;
}
4

1 回答 1

0

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

于 2021-09-11T09:45:31.463 回答