我試圖讓OData在數據庫中返回實體的數量,當我將它通過$inlinecount=allpages
在uri中時。我已經閱讀堆棧溢出,我應該返回IQueryable
而不是IHttpActionResult
,但是這並沒有解決問題。我也試圖按照asp.net網站上的教程,但那也沒有給出任何結果。WebApi OData inlinecount不起作用
[EnableQuery(
PageSize = BuildingConstants.BuildingsPerPage,
MaxTop = BuildingConstants.MaxBuildingsPerPage,
AllowedArithmeticOperators = AllowedArithmeticOperators.None,
AllowedLogicalOperators = AllowedLogicalOperators.None,
AllowedFunctions = AllowedFunctions.SubstringOf,
AllowedQueryOptions = AllowedQueryOptions.Filter | AllowedQueryOptions.OrderBy | AllowedQueryOptions.Top | AllowedQueryOptions.Skip | AllowedQueryOptions.InlineCount)]
[ResponseType(typeof(IEnumerable<ListedBuildingResponseModel>))]
public IQueryable<ListedBuildingResponseModel> Get()
{
var buildings = this.buildings
.GetBuildings()
.ProjectTo<ListedBuildingResponseModel>();
return buildings;
}
這就是我寫的關於OData的一切。控制器繼承ApiController
,而不是ODataController
。在Register
方法中,我沒有添加任何OData路由或模型構建器。 $top
,$skip
,$orderby
和其他一切正常工作,但$inlinecount=allpages
。有關如何解決問題的任何建議?
是不是ODataV4 $ count = true而不是$ inlinecount? –
「消息」:「查詢參數'$ count'不受支持。」 –
將它添加到允許列表? 「AllowedQueryOptions.Count」。 –