Я следую этой статье:
https://docs.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options
Я пытаюсь реализовать это $inlinecount=allpages
в моем приложении. Я хочу, чтобы он отображал пользователей и счет для внешнего интерфейса, который будет использоваться в сетке.
Это мой Action
в UsersController
:
[HttpGet]
[EnableQuery]
public IEnumerable<UserDto> Get()
{
var users = dbContext.Users.ToList();
return users.Select(u =>
{
var dto = mapper.Map<UserDto>(u);
var claims = dbContext.UserClaims.Where(c => c.UserId == u.Id);
dto.FirstName = claims.FirstOrDefault(c => c.ClaimType == JwtClaimTypes.GivenName)?.ClaimValue;
dto.FamilyName = claims.FirstOrDefault(c => c.ClaimType == JwtClaimTypes.FamilyName)?.ClaimValue;
return dto;
}).ToList();
}
Это Похоже, это должно быть что-то вроде этого:
[HttpGet]
[EnableQuery]
public IQueryable Get()
{
return dbContext.Users.AsQueryable();
}
Это правильный способ сделать это?