2013-06-29 2 views
0

Si j'ai une relation many-to-many entre Students et Classes, et que j'ai créé une table de liaison appelée Students_Classes, quel est le moyen le plus simple d'obtenir une liste de classes à partir d'un StudentID ?Solution plusieurs à plusieurs LINQ la plus simple

En ce moment, je fais ce qui suit (que je sais est pas élégant):

List<Class> classes = new List<Class>(); 
List<Students_Classes> students_classes = db.Students_Classes.Where(s => s.StudentID == id).ToList(); 

foreach (var item in students_classes) 
{ 
    classes.Add(item.Class); 
} 

Répondre

3

Qu'est-ce que vous avez est en fait ok, vous pouvez le faire cependant dans une requête à savoir

var classes = (from s in db.Students_Classes 
       where s.StudentID == id 
       select s.Class).ToList(); 

ou puisque vous semblez préférer Lambda à LINQ

var classes = db.Student_Classes.Where(s => s.StudentID == id) 
           .Select(s => s.Class) 
           .ToList(); 
Questions connexes