asp.net mvc 在 linq to sql 中按关系搜索
asp.net mvc search by relationships in linq to sql
如何 select 我在关系中需要的数据。在这段代码中,我的搜索成功了
var teachers = db.teachers.Where(a => a.Groups.Any(g => g.id == groupid)).ToList();
但是此代码 return 教师及其所有小组。我需要 select 个具有 id=groupid
的组
您需要投影您的查询以仅获取满足该条件的组。我建议创建自定义 class 以仅获取您需要的数据:
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();
如何 select 我在关系中需要的数据。在这段代码中,我的搜索成功了
var teachers = db.teachers.Where(a => a.Groups.Any(g => g.id == groupid)).ToList();
但是此代码 return 教师及其所有小组。我需要 select 个具有 id=groupid
的组您需要投影您的查询以仅获取满足该条件的组。我建议创建自定义 class 以仅获取您需要的数据:
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();