asp.net 样板 odata 计数



我正在开发 asp.net 支持odata的核心样板应用程序。我正在尝试启用$count参数:

app.UseOData(builder =>
{
builder.EntitySet<Message>("Messages").EntityType.Count().Filter().OrderBy().Expand().Select().Page().Count();//.Expand().Filter().OrderBy().Page();
});

请求是:

/odata/Messages?%24count=true&%24filter=indexof(tolower(Guid)%2C+%27a3eee6ec-d232-42f7-93cc-fd6062fb39b6%27)+gt+-1

但响应没有计数:

{
"result": [
{
"guid": "a3eee6ec-d232-42f7-93cc-fd6062fb39b6",
"id": 140
}
],
"targetUrl": null,
"success": true,
"error": null,
"unAuthorizedRequest": false,
"__abp": true
}

如何使用样板 odata 将计数添加到响应中?

附言

<ItemGroup>
<PackageReference Include="Abp.AspNetCore.OData" Version="3.8.2" /> 
<PackageReference Include="Abp.AspNetCore.SignalR" Version="3.7.2" />
<PackageReference Include="Abp.AspNetCore" Version="3.8.2" />
<PackageReference Include="Microsoft.AspNetCore.OData" Version="7.0.1" />    
... 
</ItemGroup>

为了在结果中获取计数,网址应该是:

/odata/message?$count=true

最新更新