Où est la surcharge de DbQuery.Include () qui prend un lambda?

Je viens de déclarer des premiers modèles de code pour un nouveau projet qui utilise EntityFramework.

public class BlogEntry { public long Id { get; set; } public long AuthorId { get; set; } public DateTime PublishedStamp { get; set; } public ssortingng Title { get; set; } public ssortingng Text { get; set; } public virtual User Author { get; set; } } public class User { public long Id { get; set; } public ssortingng Email { get; set; } // ... } class BlogDb : DbContext { public DbSet Ensortinges { get; set; } public DbSet Users { get; set; } } 

Maintenant, supposons que je veuille récupérer les 10 entrées de blog les plus récentes:

 var ensortinges = new BlogDb().Ensortinges.OrderByDescending(...).Take(10).ToList(); 

Le problème est maintenant que l’access à entry.Author provoquera une autre requête de firebase database. Vous ne voudriez pas une telle requête distincte pour chaque entrée de blog. Maintenant, je comprends que le but de Include est exactement ce cas, donc je peux dire:

 var ensortinges = new BlogDb().Ensortinges.Include(e => e.Author).(...).ToList(); 

Cependant, cette méthode ne semble pas exister. Il y a seulement un Include(ssortingng) , comme ceci:

 var ensortinges = new BlogDb().Ensortinges.Include("Author").(...).ToList(); 

mais c’est ennuyeux parce que ce n’est pas vérifié à la compilation et que le refactoring du nom de fichier manquera. La version avec le lambda est sûrement l’approche «correcte».

Où est passée cette méthode? Est-ce qu’il n’est plus inclus dans EntityFramework?

(Je sais que je peux écrire une méthode d’extension pour y parvenir, donc vous n’avez pas à le faire. Je voudrais juste savoir si quelque chose me manque.)

 using System.Data.Entity;//ftw 

C’est dans EF v4.1 et supérieur, mais vous avez besoin d’une référence car c’est une méthode d’extension.


Edit (merci à @EastonJamesHarvey)

Si vous utilisez EF Core, l’importation doit être:

 using Microsoft.EntityFrameworkCore;