没有从简单查询中获得结果
本文关键字:结果 查询 简单 | 更新日期: 2023-09-27 18:20:02
我尝试了以下操作,它给我返回了每个教程
List<Tutor>tutorsList = tutors.ToList();
此外,我试图只选择具有特定主题的导师(导师主题是n:n)
Subject subjectEntity = subjects.Where(s => s.Name == input).FirstOrDefault();
List<Tutor>tutorsList = tutors.Where(t => t.Subjects.Contains(subjectEntity)) .ToList();
结果,我的tutorsList
是空的,甚至subjectEntity
也是正确的(我把它打印到控制台)。但当我循环每个导师并打印主题时,会有一个主题为input
的导师。
有什么想法吗?
如果您也有id,您可以执行以下操作:
Subject subjectEntity = subjects
.Where(s => s.Name == input)
.FirstOrDefault();
List<Tutor> tutorsList = tutors
.Where(t => t.Subjects
.Select(x => x.SubjectId)
.Contains(subjectEntity.SubjectId)
)
.ToList();
如果没有,您可以尝试在单个查询中进行
List<Tutor> tutorsList = tutors
.Where(t => t.Subjects.Any(x => x.Name == input))
.ToList()
在处理内部集合时,使用Any
在一行中进行简化。
var tutorsList = tutors.Where(t => t.Subjects
.Any(s => s.Name == input)).ToList();
尝试低于
Subject subjectEntity = subjects.Where(s => s.Name == input).FirstOrDefault();
List<Tutor>tutorsList = tutors.Where(t => t.Subjects.Any(x=>x.UniqueField==subjectEntity.UniqueField)).ToList();