ASP.NET Core API gibt nur das erste Ergebnis von list @ zurü

Ich habe einen Team-Web-API-Controller erstellt und versucht, die GET-Methode aufzurufen, um das JSON-Ergebnis aller Teams in der Datenbank abzurufen. Aber wenn ich den Anruf tätige, bekomme ich nur die erste Mannschaft zurück in den JSON, aber wenn ich einen Haltepunkt auf der Rückgabeerklärung setze, hat sie alle 254 Mannschaften zusammen mit allen Spiele

Dies sind die beiden Modelle, mit denen ich es zu tun habe:

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; }
}

Wann mache ich das:

[HttpGet]
public async Task<List<Team>> Get()
{
    var teams = await _context.Teams.ToListAsync();

    return teams;
}

Ich erhalte alle 254 Teams, aber die Spieleigenschaft ist null, da EF Core das langsame Laden nicht unterstützt. Also, was ich wirklich tun möchte, ist das Hinzufügen der .Include () wie folgt:

[HttpGet]
public async Task<List<Team>> Get()
{
    var teams = await _context.Teams.Include(t => t.Games).ToListAsync();

    return teams;
}

Dies gibt die erste Mannschaft mit dem ersten Spiel zurück, aber sonst nichts. Hier ist der 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"
      }
    ]
  }
]

Wenn ich in der Rückgabeerklärung einen Haltepunkt festlege, zeigt dies, dass es 254 Teams gibt und jedes Team die Spiele korrekt bestückt hat ... aber das json-Ergebnis spiegelt nicht wider. Hier ist ein Bild:

Ich habe versucht, dies sowohl synchron als auch asynchron zu tun, erhalte jedoch das gleiche Ergebnis. Weißt du, warum ich im JSON nur ein Ergebnis erhalte, aber am Haltepunkt hat es alle Ergebnisse?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage