最简单的LINQ多对多解决方案
本文关键字:解决方案 LINQ 最简单 | 更新日期: 2023-09-27 18:20:19
如果我在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);
}
您所拥有的实际上是可以的,但是,您可以在一个查询中完成,即
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();