1
如何在我需要的关系中选择数据。在此代码中,我的搜索工作asp.net mvc通过linq to sql中的关系进行搜索
var teachers = db.teachers.Where(a => a.Groups.Any(g => g.id == groupid)).ToList();
但是,此代码返回教师与他们的所有组。我需要选择具有id = groupid的组
如何在我需要的关系中选择数据。在此代码中,我的搜索工作asp.net mvc通过linq to sql中的关系进行搜索
var teachers = db.teachers.Where(a => a.Groups.Any(g => g.id == groupid)).ToList();
但是,此代码返回教师与他们的所有组。我需要选择具有id = groupid的组
您需要预测您的查询以获得满足该条件的组。我建议创建一个自定义类来只获取数据,您需要:
public class TeacherDTO
{
public int Id{get;set;}
public ICollection<Group> Groups{get;set;}
//...
}
所以,你的查询可以是这样的:
var teachers = db.teachers.Where(a => a.Groups.Any(g => g.id == groupid))
.Select(a=>new TeacherDTO
{
Id=a.id,
Groups=a.Groups.Where(g=>g.id==groupid)
})
.ToList();