Relation entre requêtes linq dans plusieurs relations EF

J’ai 3 tables Student, Course et la table de liaison StudentCourse, comment puis-je renvoyer tous les cours avec un ID d’étudiant = 1, mais également une ligne où l’ID de l’étudiant peut ne pas être 1 et suit le même cours que l’étudiant de l’ID 1? La structure est comme ça:

student courses studentcourse 1 8 1 - 8 2 9 2 - 8 3 10 3 - 9 

La partie la plus délicate est que je souhaite également inclure les autres lignes du cours 8 ou de tout autre cours suivi par l’étudiant de l’ID 1.

le résultat final devrait être 2 lignes: la clause where précisera que je suis intéressé par le cours où student id = 1 (qui correspond à id 8) mais que je souhaite également inclure les autres lignes de ce cours. Le résultat est donc:

 1 - 8 2 - 8 

Etant donné qu’il s’agit de EF et de votre dernière clarification, vous devriez avoir une propriété de navigation Courses sur votre entité Student et une navigation Students sur votre entité Course qui vous permettrait de procéder comme suit:

 var students = db.Students .Single(x=> x.Id == 1) .Courses.SelectMany(c=> c.Students) .Distinct();