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