Фильтровать по возрасту в EFCore, используя Postgresql - Npgsql - PullRequest
0 голосов
/ 25 мая 2019

Можно ли перевести этот следующий запрос Postgresql в EFCore?

SELECT "applic"."age" FROM (
   SELECT EXTRACT(YEAR FROM age(birthdate)) :: int AS "age" FROM public.applicant
) AS "applic"
WHERE "applic"."age" < 50;

Я просмотрел документы, но ничего полезного не нашел.

1 Ответ

0 голосов
/ 25 мая 2019

Решение, которое работает:

var applicants = from s in this.RepositoryContext.Applicants select s;

if (query.AgeStart != null && query.AgeEnd != null)
{
    applicants = applicants.Where(c => (DateTime.Today.Year - c.BirthDate.Year) >= query.AgeStart && (DateTime.Today.Year - c.BirthDate.Year) < query.AgeEnd);
} 
...