У меня проблема с функцией подсчета в Odata.Когда я использую https://localhost:44327/odata/Customers?$count=true
, он работает правильно, но счет https://localhost:44327/Customers/Get?$count=true
игнорируется.
Контроллер:
[EnableQuery]
[HttpGet]
public IActionResult Get()
{
return Ok(_context.Customers);
}
Startup.cs:
routeBuilder.Select().Filter().Expand().OrderBy().MaxTop(100).Count();
routeBuilder.EnableDependencyInjection();
routeBuilder.MapODataServiceRoute("odata", "odata",GetEdmModel());
private static IEdmModel GetEdmModel()
{
ODataModelBuilder builder = new ODataConventionModelBuilder();
EntitySetConfiguration<CustomerDto> customers = builder.EntitySet<CustomerDto>("Customers");
customers.EntityType.HasKey(entity => entity.Id);
EntitySetConfiguration<OrderDto> orders = builder.EntitySet<OrderDto>("Orders");
orders.EntityType.Name = "Order";
orders.EntityType.Property(p => p.Total).Name = "Check";
return builder.GetEdmModel();
}