public async Task <IList <Ladder> > GetLaddersAsync()
 {
     return(await Ladders.Include(x => x.LadderPlayers)
            .ThenInclude(x => x.Player)
            .Include(x => x.Matches)
            .ThenInclude(x => x.MatchTeams)
            .ThenInclude(x => x.Team.TeamPlayers)
            .ThenInclude(x => x.Player)
            .ToListAsync());
 }
 public async Task <Ladder> GetLadderAsync(int id)
 {
     return(await Ladders.Include(x => x.LadderPlayers)
            .ThenInclude(x => x.Player)
            .Include(x => x.Matches)
            .ThenInclude(x => x.MatchTeams)
            .ThenInclude(x => x.Team.TeamPlayers)
            .ThenInclude(x => x.Player)
            .SingleOrDefaultAsync(x => x.Id == id));
 }