Предположим, у меня есть таблица под названием Population, в которой хранятся некоторые демографические данные. В T-SQL, чтобы подсчитать количество людей старше 50, я мог бы сделать что-то вроде этого:
SELECT COUNT(*) FROM POPULATION
WHERE AGE > 50
Я думал, что следующий оператор linq будет работать, но он просто возвращает ноль, и я не понимаю, почему.
var count = _context.Population.Count(x => x.Age > 50);
Для того, чтобы на самом деле получить счет, мне нужно выполнить одно из следующих действий:
var count = _context.Populaton.Where(x => x.Age > 50).Count();
var count = _context.Population.Select(x => x.Age > 50).Count();
Почему вышеописанные сценарии имеют место?