Table des matières

Optimisations EF

Réduire le nombre de requêtes SQL pour accélérer la vitesse d'exécution

Include

Si on sait qu'on va avoir besoin d'une clé étrangère, on peut charger tout de suite l'objet référencé en utilisant la méthode .Include() lors de la requête select :

await db.Table1
  .Where(x => x.Valeur > 3)
  .OrderBy(x => x.Valeur)
  .Include(x => x.Reference)
  .ToListAsync();

Charger toute la table

Si on sait qu'on va faire une boucle foreach sur toute une table, la méthode s'exécute beaucoup plus vite si on récupère la table complète et qu'on fait nos requêtes dessus en local plutôt que de faire une requête SQL pour chaque élément de la table.