J'ai créé une des équipes de l'api web de contrôleur et d'essayer d'appeler la méthode GET pour obtenir le résultat json de toutes les équipes dans la base de données. Mais quand je fais l'appel, je ne suis que de l'obtention de la première équipe est de retour dans le json mais quand j'ai mis un point d'arrêt sur l'instruction return on a tous 254 des équipes avec tous les jeux.
Ce sont les deux modèles que j'ai affaire à:
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; }
}
Lorsque je fais ceci:
[HttpGet]
public async Task<List<Team>> Get()
{
var teams = await _context.Teams.ToListAsync();
return teams;
}
Je reçois tous les 254 équipes, mais propriété de Jeu est nul car EF de Base ne prend pas en charge le chargement paresseux. Donc, ce que je veux vraiment faire est d'ajouter le .Include() comme ceci:
[HttpGet]
public async Task<List<Team>> Get()
{
var teams = await _context.Teams.Include(t => t.Games).ToListAsync();
return teams;
}
Cela renvoie à la première équipe, le premier jeu, mais rien d'autre. Voici le 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"
}
]
}
]
Lorsque j'ai mis un point d'arrêt sur l'instruction return, il montre qu'il y a 254 équipes et chaque équipe a ses jeux remplie correctement...mais le résultat json ne reflète pas. Voici une image:
J'ai essayé de faire cela en mode synchrone et asynchrone, mais obtenir le même résultat. Savez-vous pourquoi je suis seulement d'obtenir un résultat en arrière dans le json, mais au point d'arrêt, il a tous les résultats?