Linq到实体检查出生日期是否在给定的日期范围(EF6)之间

Linq到实体检查出生日期是否在给定的日期范围(EF6)之间,linq,entity-framework,Linq,Entity Framework,我需要从person表中筛选记录,其中Dob字段(日期)位于用户输入的多个日期范围中的任意一个 ... 你知道处理这个问题的最佳方法是什么吗?这是一个精心编制的查询,它在Linq到EF和Linq到对象之间跳跃 List<Tuple<DateTime,DateTime>> dateranges=.......; IEnumerable<IQueryable<Person>> queries = from d in dateranges

我需要从person表中筛选记录,其中Dob字段(日期)位于用户输入的多个日期范围中的任意一个 ...


你知道处理这个问题的最佳方法是什么吗?

这是一个精心编制的查询,它在Linq到EF和Linq到对象之间跳跃

List<Tuple<DateTime,DateTime>> dateranges=.......;
IEnumerable<IQueryable<Person>> queries = from d in dateranges
                                         let startDate = d.Item1
                                         let endDate = d.Item2
              select (context.Person.Where(p => p.Birthday >= startDate && p.Birthday <= enDate));
IQueryable<Person> query = queries.Aggregate(Queryable.Concat);
    "Unable to process the type 'System.Tuple`2[[System.DateTime, mscorlib, Version=4.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.DateTime, mscorlib, Version=4.0.0.0,
 Culture=neutral, PublicKeyToken=b77a5c561934e089], because it has no known mapping to the 
value layer."
List<Tuple<DateTime,DateTime>> dateranges=.......;
IEnumerable<IQueryable<Person>> queries = from d in dateranges
                                         let startDate = d.Item1
                                         let endDate = d.Item2
              select (context.Person.Where(p => p.Birthday >= startDate && p.Birthday <= enDate));
IQueryable<Person> query = queries.Aggregate(Queryable.Concat);
List<Tuple<DateTime,DateTime>> dateranges=.......;
List<FutureQuery<Person>> queries = from d in dateranges
                                         let startDate = d.Item1
                                         let endDate = d.Item2
              select (context.Person.Where(p => p.Birthday >= startDate && p.Birthday <= enDate).Future()).ToList();
IEnumerable<Person> query = queries.SelectMany(x =>);