Повторное чтение вопроса не дает прямого ответа на вопрос о том, почему вопрос OP о том, почему один форматер делает, а другой не приводит к правильному выводу, но может предоставить некоторые места для OP, чтобы начать искать ...
Я также видел интересное поведение при использовании OData и Asp. Net Core, из онлайновой документации очень трудно расшифровать, что вам следует делать в наши дни, так как большинство документов устарели или для более ранних версий OData. Например, вы увидите некоторые ссылки на GetInlineCount () в некоторых документах, но, похоже, они были удалены из API.
Для вашего запроса, я думаю, у вас есть два варианта. Во-первых, измените тип возвращаемого значения. чтобы быть IQueryable, затем укажите атрибут [EnableQuery(PageSize=10)]
.
В качестве альтернативы, сохраняя то, что у вас есть, и используя объект PageResult
:
return new PageResult<object>(listOfObjects as IEnumerable<object>, Request.GetNextPageLink(5), Request.ODataFeature().TotalCount);
Вы можете решить Request.ODataFeature (). TotalCount не возвращая значение, установив функцию Request.ODataFeature (). TotalCountFun c следующим образом ...
Request.ODataFeature().TotalCountFunc = () => listOfobjects.Count();