Итак, у меня есть ученический класс, у которого есть свойство навигации к другой таблице. Я просто хочу опросить всех студентов, которые НЕ находятся в этой таблице и находятся в этой таблице
var students = context.Students.Include(x => x.Exclusion);
var excluded = students.Where(x => x.Exclusion != null);
var included = students.Where(x => x.Exclusion == null);
Результат:
Так что это неправильно ... если я .ToList () студентов, исключено теперь 2, что является правильным, поэтому я предполагаю, что запросы свойств навигации не работают в EFCore, необходимо переместить в память?
var students = context.Students.Include(x => x.Exclusion);
var excluded = students.ToList().Where(x => x.Exclusion != null);
var included = students.ToList().Where(x => x.Exclusion == null);
- студенты: 9
- исключено: 2
- включено: 0
... Как это 0 ?? Мы можем запросить, не является ли оно нулевым, но не является ли оно нулевым?
Похоже, что при отладке модульного теста сгенерированный запрос sql для обоих вытягивает только 2 исключенных элементы, поэтому я предполагаю, что когда я затем выполняю == null, именно поэтому он равен 0, но я понятия не имею, почему он это делает, это не то, что я прошу это сделать.