context.Schools.Where(s => s.Name == "Springfield Elementary" && s.Pupils.Age == 12);
Это не должно быть обязательным для .Select(s)
школы, так как это то, что вы запрашиваете.
Это возвращает школы, в которых ученики 12 лет. Но если вы хотите выбрать учеников вместо васнеобходимо:
context.Schools
.Where(s => s.Name == "Springfield Elementary" && s.Pupils.Age == 12)
.Select(s=>s.Pupils);
Или, как следует из комментариев, запрашивающих учеников вместо
context.Pupils.Where(s => s.Age == 12 && s.School.Name == "Springfield Elementary");
Это предполагает, что Schools / Pupil выглядит примерно так (POCO в коде):
public class School
{
public int SchoolId { get; set; }
public string Name { get; set; }
public virtual ICollection<Pupil> Pupils { get; set; }
}
public class Pupil
{
public int PupilId { get; set; }
public int Age { get; set; }
public int SchoolId { get; set; }
public virtual School School { get; set; }
}