Допустим, у меня есть запись Person в базе данных, и есть поле Age для человека.
Теперь у меня есть страница, которая позволяет мне фильтровать людей в определенных возрастных диапазонах.
Например, я могу выбрать несколько вариантов выбора диапазона, таких как «0-10», «11-20», «31-40».
Так что в этом случае я бы вернул список людей от 0 до 20, а также от 30 до 40, но не 21-30.
Я взял возрастные диапазоны и заполнил список диапазонов, который выглядит следующим образом:
class AgeRange
{
int Min { get; set; }
int Max { get; set; }
}
List<AgeRange> ageRanges = GetAgeRanges();
Я использую LINQ to SQL для доступа к базе данных и запросов, но не могу понять, как запросить диапазоны.
Я хочу сделать что-то подобное, но, конечно, это не сработает, так как я не могу запросить свои локальные значения по значениям SQL:
var query = from person in db.People
where ageRanges.Where(ages => person.Age >= ages.Min && person.Age <= ages.Max).Any())
select person;