我已经在其他问题中搜索了解决方案,但没有找到它。
所以,我的问题如下:
我有一个用户可以挂载表达式的页面。例如,如果他们想要一些课程1和课程2的教授,那么他们会创建一个这样的表达式:
页面中的(course 1 AND course 2)
。
但是当我使用EF时,如果我把" AND",我就没有教授......如果我改为"或者"我得到一些教授有1或2,其中一个可能有两门课程。
我需要一直有两门课程的教授(课程1和课程2)
我该如何做到这一点?
(如果我的解释太混乱,请告诉我,我会以其他方式尝试!)
答案 0 :(得分:0)
我试着理解你的解释,尝试下面的内容,让我们知道你正在寻找的逻辑是什么?或者你想要其他结果。
from x in db.professors.Where(x => x. professorId == professorId && (x.courseid == 'course1' && x.ukat == 'course2'))
答案 1 :(得分:0)
也许:
var result = db.Professors.Where(p =>
p.Cursos.Count(c => searchedCourses.Contains(c.CourseId)) == searchedCourses.Count());
通过这种方式,您可以获得所有教授,过滤他们的课程以匹配指定搜索中的课程,并且只获得具有相同数量的过滤课程和搜索过的课程的教授。