Aller au contenu

Mélange des deux

Contexte : Vous pouvez commencer avec la syntaxe de requête, puis passer à la syntaxe de méthode en plaçant la requête entre parenthèses et en appelant des méthodes d’extension.

var numbers = new[] { 1, 2, 3, 4, 5, 6 };
var result = (from n in numbers
where n % 2 == 0
select n)
.OrderByDescending(n => n)
.Take(2);
  • Utilisez la syntaxe de requête pour le filtrage / jointure principal
  • Utilisez la syntaxe de méthode pour les opérations non disponibles en syntaxe de requête (par exemple Take, Skip, ToDictionary)

Pagination avec syntaxe de requête : Écrivez la requête de base en syntaxe de requête, puis ajoutez .Skip(page * size).Take(size) avec la syntaxe de méthode.

Exemple : Dans EF Core, on écrit souvent from c in context.Customers where c.Active select c puis on enchaîne avec .Skip(10).Take(10).