Я создал новое веб-приложение .NET Core 2.2, используя OData v7.1.
Я его запустил и уже могу использовать $ top, $ skip, ...
Сейчас я пытаюсь заставить $ count работать правильно, но я совершенно потерян, как это сделать.
Я уже пробовал переходить по нескольким ссылкам, все они либо нетдольше скомпилировать или не выдавать желаемый результат.
Что у меня есть:
в StartUp.cs
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
routes.EnableDependencyInjection();
routes.Expand().Select().OrderBy().Filter().MaxTop(null).Count();
});
в моем Класс контроллера:
[EnableQuery]
[HttpGet("[action]")]
public IActionResult All()
{
var assets = _service.GetAllAssets();
return Ok(assets);
}
Возвращает все активы, и я могу использовать $ top и $ skip без проблем.Теперь, как мне добавить $ count = true или любой другой метод, который позволит мне также вернуть мой общий счетчик?Что я делаю неправильно?
Пример URL-адреса, который работает: http://localhost/api/Assets/All?$top=20&$skip=20
URL-адрес, который не работает: http://localhost/api/Assets/All?$count=true (возвращает все активы)
Текущий результат:
[{Item One}, {Item Two}]
Желаемый результат для меня будет:
[Count : 4,
Items: [{Item One}, {Item Two}
]