sched
в вашем примере имеет тип IEnumerable<string>
, и результат p.Enrollments.Select(q=>q.ClassID)
тоже. Тем не менее, .Equals()
может сравнивать только при наличии ошибок типы примитивов (string, int, et c), но вы вызываете его на IEnumerable
с аргументом IEnumerable
, поэтому он завершается неудачей.
То, что вы хотите сделать, - это поиск среди учеников, у которых есть Any
регистрация, которая есть в их расписании. Так что вместо этого попробуйте
var classStudents = db.Students.Where(s => s.Enrollments.Any(e => sched.Contains(e.ClassID)));