Aller au contenu

Traduction SQL avec EF Core

Contexte : LINQ to Entities (Entity Framework Core) traduit les requêtes LINQ en SQL, les exécutant sur le serveur de base de données.

using (var context = new AppDbContext())
{
var activeCustomers = context.Customers
.Where(c => c.IsActive && c.Orders.Any())
.OrderBy(c => c.Name)
.Take(10)
.ToList(); // SQL généré et exécuté
}
  • Seul un sous‑ensemble des méthodes C# peut être traduit en SQL
  • Utilisez AsEnumerable() ou ToList() pour passer à l’évaluation côté client
  • L’exécution différée fonctionne avec IQueryable<T>

Pagination et filtrage en base de données : EF Core traduit Skip et Take en OFFSET et FETCH en SQL.

Exemple : La documentation sur les requêtes EF Core explique les règles de traduction.