Вы выбираете анонимный тип и пытаетесь вернуть его как конкретный TeamViewModel
тип.
Предполагая, что TeamViewModel
был предполагаемым типом, и что он определен с помощью свойств, использованных в исходном вопросе, действие должно быть реорганизовано.
[HttpGet("{id:int}")]
public async Task<ActionResult<IEnumerable<TeamViewModel>>> List(int id) {
var team = await _context.Teams
.Where(c => c.TeamId == id)
.Select(c => new TeamViewModel { //<--
TeamId = c.TeamId,
TeamName = c.Team.Name
})
.ToListAsync();
if (team.Count == 0) {
return NotFound();
}
return team;
}
Обратите внимание, что ваш запрос не вернет null , поэтому нет необходимости проверять это.
Если список пуст, то это должно указывать на отсутствие записей.