Фильтр по возрасту в EFCore с помощью Postgresql - Npgsql

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

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

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


person Hussain    schedule 24.05.2019    source источник
comment
Хорошим началом было бы попробовать что-то и показать нам, что вы сделали и где не удалось (если не получилось). Только тогда мы сможем увидеть, где конкретно вам нужна помощь.   -  person Gert Arnold    schedule 25.05.2019
comment
@GertArnold Я опубликовал решение, которое сработало.   -  person Hussain    schedule 25.05.2019


Ответы (1)


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

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);
} 
person Hussain    schedule 25.05.2019