2010-11-16 12 views
3

je les trois tableaux suivants:Entity Framework: Chargement des propriétés de navigation 2e niveau

clients: id nom_de_client

Projets: id clientid (ref int Clients.id) projectname projectstatus (ref int à ProjectStatuses.id)

de ProjectStatuses: id statusname

Je sélectionne un seul client fin, et si nécessaire, je charge les projets clients sélectionnés comme ceci:

selectedClient.Projects.Load(); Mais comment l'avoir aussi charger le nom du statut du projet?

Répondre

4
selectedClient.Projects.ProjectStatuses.Load() 

Modifier

Il est un je suppose un à plusieurs,

cela devrait fonctionner

selectedClient.Projects.First().ProjectStatuses.Load() 

ou vous pouvez également charger directement dans votre requête avec

context.Clients.Include("Projects.ProjectStatuses"); 
+0

Merci, mais cela ne fonctionne pas. Il semble seulement vouloir me permettre d'aller un niveau dans les propriétés de navigation. –

+0

En quoi cela ne fonctionne-t-il pas? Vos tentatives lancent-elles une erreur ou échouent silencieusement à charger les propriétés imbriquées? Qu'en est-il de chaîner les instructions Include, par ex. 'context.Clients.Include (" Projects "). Include (" Projects.ProjectStatuses ")' –

+0

Je me rapproche. Qu'est-ce qu'il fait maintenant est la liste du nom de la classe au lieu de la valeur. Comme ceci: "Project.Data.ProjectStatus", Vous avez raison, il y aura un client et un tas de projets, tous avec des statuts différents. –

Questions connexes