Entity Framework: Comment désactiver le chargement différé pour une requête spécifique?

Est-il possible de désactiver le chargement différé pour une requête spécifique sur Entity Framework 6? Je veux l’utiliser régulièrement, mais parfois je veux le désactiver. J’utilise des propriétés virtuelles pour les charger paresseux.

    définir le code suivant avant la requête à exécuter

     context.Configuration.LazyLoadingEnabled = false; 

    Vous pouvez désactiver le chargement différé pour une requête spécifique comme suit:

     public static Cursos GetDatosCursoById(int cursoId) { using (var bd = new AcademyEntities()) { try { bd.Configuration.ProxyCreationEnabled = false; return bd.Cursos.FirstOrDefault(c => c.cursoId == cursoId); } catch (Exception ex) { return null; } } } 

    Accédez aux propriétés de votre diagramme et recherchez une propriété désignée pour le chargement différé et désactivez-la.

    Si vous utilisez d’abord le code, allez dans votre zone de configuration et désactivez-le avec:

     this.Configuration.LazyLoadingEnabled = false; 

    Il se peut que je manque quelque chose ici, mais plutôt que de changer la configuration à chaque fois, est-ce qu’une autre approche pourrait consister à utiliser.

    Supposons que nous ayons une classe Product qui possède une propriété de navigation pour une classe Colour , vous pouvez charger la Colour pour un Product comme celui-ci –

     var product = _context.Products .Where(p => p.Name == "Thingy") .Include(x => x.Colours) .ToList();