J'ai donc des projets (pour cet exemple, disons qu'ils sont un nom et un ID). J'ai aussi une table appelée sous-projets, comme celui-ci:Requête LINQ - Problèmes de jointure auto compliquée
MasterProjectID SubProjectID 1 2 1 3 4 5 4 6 4 7
Un maître ne peut pas être un sous d'un autre maître.
Je veux retourner une liste d'ID de projet. Plus précisément, je souhaite que la liste contienne l'ID de projet principal et tous ses ID de sous-projets.
En d'autres termes, si ProjectID == 4 et pdc est mon DataContext, ma requête doit retourner:
4 5 6 7
La requête LINQ suivante ne retourne rien:
from j in pdc.Projects
join s in pdc.SubProjects on j.ProjectID equals s.SubProjectID
where j.ProjectID.Equals(projectID) || s.MasterProjectID.Equals(projectID)
select j.ProjectID;
Qu'est-ce que je fais mal ?