2010-05-03 13 views

Répondre

4

Dans EF4 chargement paresseux est inclus et est activé par défaut. Pas de chance dans les versions précédentes: Vous devrez peut-être ajouter un .Include() pour récupérer les autres données automatiquement (chargement ardent) ou appeler Load() sur les références pour les charger (manuellement).

Si la table de référence était de dire « Détails » vous ferait ...

var featuredOffers = context.Hosters_FeaturedOffer.Include("Details").ToList(); 

Voir http://msdn.microsoft.com/en-us/library/bb896272.aspx

BTW: faire une recherche pour « fortement typé Inclure » trop - il y a des méthodes d'extension les gens ont écrit pour enlever la chaîne magique et la remplacer par une expression lambda vérifiée dans le temps de compilation.

+0

Merci Hightechrider, Pouvez-vous s'il vous plaît m'aider sur où ajouter .include() dans mon code ou comment appeler la méthode Load(). ci-dessous est mon exemple de requête var résultat = de e dans le contexte.Hosters_FeaturedOffer select e; Liste featuredOffers = result.ToList (); –

+0

Réponse mise à jour. –

+0

Merci beaucoup Hightechrider ... U m'a sauvé mon temps..Pouvez-vous également me fournir quelques informations/liens sur les méthodes d'extension dont vous parliez? –

1

Pour les réponses futures si vous utilisez une version plus récente de EF;

var o = db.Order.Include(i => i.User).Include(i => i.OrderItem).FirstOrDefault(x=>x.OrderId == orderId);