如果Students
和Classes
之间存在多对多关系,并且我创建了一个名为Students_Classes
的链接表,那么获取列表的最简单方法是什么? StudentID的课程?
现在我正在做以下事情(我知道这不优雅):
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);
}
答案 0 :(得分:3)
你所拥有的实际上是可以的,但是,你可以在一个查询中做到这一点,即
var classes = (from s in db.Students_Classes
where s.StudentID == id
select s.Class).ToList();
或者因为您似乎更喜欢Lambda到LINQ
var classes = db.Student_Classes.Where(s => s.StudentID == id)
.Select(s => s.Class)
.ToList();