Я создал командный веб-api-контроллер и попытался вызвать метод GET, чтобы получить json-результат всех команд в базе данных. Но когда я делаю вызов, я только возвращаю первую команду в json, но когда я устанавливаю точку останова на оператор return, у него есть все 254 команды вместе со всеми играми.
Это две модели, с которыми я имею дело:
public class Team
{
public string Id { get; set; }
public string Name { get; set; }
public string Icon { get; set; }
public string Mascot { get; set; }
public string Conference { get; set; }
public int NationalRank { get; set; }
public List<Game> Games { get; set; }
}
public class Game
{
public string Id { get; set; }
public string Opponent { get; set; }
public string OpponentLogo { get; set; }
public string GameDate { get; set; }
public string GameTime { get; set; }
public string TvNetwork { get; set; }
public string TeamId { get; set; }
public Team Team { get; set; }
}
Когда я это сделаю:
[HttpGet]
public async Task<List<Team>> Get()
{
var teams = await _context.Teams.ToListAsync();
return teams;
}
Я получаю все 254 команды, но свойство Game равно null, потому что EF Core не поддерживает ленивую загрузку. Поэтому я действительно хочу добавить .Include() следующим образом:
[HttpGet]
public async Task<List<Team>> Get()
{
var teams = await _context.Teams.Include(t => t.Games).ToListAsync();
return teams;
}
Это возвращает первую команду с первой игрой, но ничего больше. Вот json:
[
{
"id": "007b4f09-d4da-4040-be3a-8e45fc0a572b",
"name": "New Mexico",
"icon": "lobos.jpg",
"mascot": "New Mexico Lobos",
"conference": "MW - Mountain",
"nationalRank": null,
"games": [
{
"id": "1198e6b1-e8ab-48ab-a63f-e86421126361",
"opponent": "vs Air Force*",
"opponentLogo": "falcons.jpg",
"gameDate": "Sat, Oct 15",
"gameTime": "TBD ",
"tvNetwork": null,
"teamId": "007b4f09-d4da-4040-be3a-8e45fc0a572b"
}
]
}
]
Когда я устанавливаю точку останова в операторе return, это показывает, что есть 254 команды, и каждая команда имеет свои игры, заполненные правильно... но результат json не отражает. Вот изображение:
Я пробовал делать это как синхронно, так и асинхронно, но получая тот же результат. Вы знаете, почему я получаю только один результат в json, но в точке останова он имеет все результаты?