Se rendre au contenu

LINQ

Développement Informatique > Développement .NET


Une formation de 2 jours pour maîtriser LINQ et transformer vos requêtes de données en C# avec une syntaxe puissante et expressive.

La formation en 6 mots clés

LINQ

Requêtes de données

Lambda expressions

Entity Framework

Manipulation données

C# query

Informations Pratiques et Programme

Prérequis


Maîtrise de C#, notions de lambda et delegates. Expérience avec Entity Framework Core ou accès à des bases de données SQL recommandée.

Durée


2 jours

Contenu Technique de la Formation


LINQ unifie l’accès aux données : objets, SQL, XML et sources externes. Cette formation couvre les query expressions, les opérateurs d’agrégation, les pièges de performance N+1 et l’intégration avec Entity Framework Core pour produire du SQL efficace.

  • LINQ to Objects, LINQ to SQL et LINQ to XML — cas d’usage, traduction et différences de performance
  • Query expressions vs méthodes d’extension (fluent API) — lambdas, arbres d’expression et syntaxe sucre
  • IEnumerable vs IQueryable et exécution différée — composition lazy de requêtes
  • Select, Where, GroupBy, Join et Aggregate — opérateurs de projection, filtrage, jointure et agrégation
  • Intégration Entity Framework Core, paging et pièges N+1 — eager loading, select projections
  • Expression trees et requêtes dynamiques — introspection et génération de filtres

Objectifs de la Formation


Les objectifs visés par cette formation sont :

  • Écrire des requêtes LINQ fluent et query expressions pour Objects, Entities et XML
  • Composer des requêtes IQueryable EF Core qui génèrent du SQL performant
  • Diagnostiquer et corriger les problèmes de performance N+1 et matérialisation prématurée
  • Refactorer des boucles impératives foreach en projections LINQ lisibles
  • Exploiter les expression trees pour des filtres dynamiques
  • Tester des requêtes LINQ avec contextes in-memory et outils de validation SQL

Table des Matières


Fondamentaux LINQ et modèle d’exécution différée

  • Syntaxe query expressions vs fluent API
  • IEnumerable et IQueryable : différences fondamentales
  • Exécution différée : materialize(), ToList(), FirstOrDefault()
  • Composition lazy et chaînage d’opérateurs


Opérateurs LINQ et collections

  • Select, SelectMany et projections imbriquées
  • Where, OfType et filtrage
  • OrderBy, ThenBy et tri multi-clés
  • GroupBy, aggregate et statistiques
  • Join, GroupJoin et unions inter-collections


Patterns de requêtage et composition fluent

  • Take, Skip et paging
  • Distinct, Union, Intersect et opérations ensemblistes
  • All, Any, Contains et prédicats
  • Aggregate et réductions fonctionnelles


Intégration Entity Framework Core et performance

  • Materialization : ToList(), ToDictionary(), AsEnumerable()
  • Include et eager loading vs lazy loading
  • Select projections pour réduire les colonnes
  • AsNoTracking pour les requêtes read-only
  • N+1 detection et Load() vs Include()


Expression trees, dynamisme et testabilité

  • Introspection d’expression : paramètres, corps, types
  • Compilation et exécution dynamique de lambdas
  • Générateurs de filtres génériques avec Expression>
  • Remplacement d’expressions et optimisation d’arbres
  • Testing : contexts EF in-memory et vérification SQL généré


En Pratique


Syntaxe LINQ et expressions lambda

  • Utiliser LINQ to Objects pour filtrer et projeter des collections
  • Maîtriser les expressions lambda et les méthodes d'extension


LINQ to SQL et Entity Framework

  • Interroger des bases de données avec LINQ to Entities
  • Optimiser les requêtes avec Include et ThenInclude


Opérations avancées et transformations

  • Joindre, grouper et agréger des données complexes
  • Utiliser Take, Skip et OrderBy pour paginer les résultats


Async/await avec LINQ

  • Implémenter des requêtes asynchrones avec ToListAsync()
  • Gérer les performances et le lazy loading


Modalités et Inscription


Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :


Session régulière

Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.


Sur mesure & intra-entreprise

Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.

Obtenir cette formation

Prêt à écrire des requêtes LINQ puissantes ? Rejoignez dès à présent la prochaine session ou contactez-nous pour organiser cette formation dans vos locaux.


Devis sur-mesure

S'inscrire à cette formation

Remplissez le formulaire pour obtenir plus d'informations.