Entity Framework et Linq to Entities et .Include () quelques tables, ou peut-être

entity-framework include linq-to-entities

Question

J'ai une base de données avec une table nommée PropertyValues où je stocke chaque valeur dont j'ai besoin pour décrire certaines propriétés des lignes de ma table de base de données.

Par exemple, la table Products qui ressemble à ceci:

ID
OrderID // La table Products est liée à la table Order.
ProductName
ProductType_ID // ID du tableau PropertyValues décrivant le type de produit (aliment, parfum, produits chimiques)
ProductCountry_ID // ID de la table PropertyValues qui renvoie au pays où le produit provient de ProductStatusID // également de la table ID de PropertyValues contenant le statut du produit (disponible, non disponible).

avec un tel modèle de base de données, pour obtenir une commande et tous ses produits avec leur type, leur pays et leur statut, je vais devoir écrire quelque chose comme ceci:

var orders = from o in dbEntities.Order.Include("Products.ProductType")
                                       .Include("Products.ProductCountry")
                                       .Include("Products.ProductStatus")
            select o;

et la question est :)
peut-il être fait automatiquement (de sorte que toutes les entités associées seront incluses)
ou peut-être il y a une meilleure approche?

Je vous remercie !

Réponse acceptée

Je pense que ce que vous recherchez, c'est "Chargement paresseux" ou "Chargement rapide", comme l'a souligné Alex James.

Ce billet de blog explique que le "chargement différé" doit être implémenté dans la version 4.0 de Entity Framework.

http://blogs.msdn.com/adonet/archive/2009/05/12/sneak-preview-deferred-loading-in-entity-framework-4-0.aspx

Cela peut être fait automatiquement, Google "Chargement paresseux Entity Framework" pour procéder à sa configuration.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow