LINQ日期搜索的实体框架

问题描述

我正在尝试建立一个LINQ查询的EF,我需要在一周的每一天对属性进行求和-周一,周二等所有记录的总和。

由于EF to LINQ无法调用C#方法,因此无法进入要过滤的DateTime属性的Date组件(DateTime.Date),所以我当前的实现如下所示:>

 _monday = startDate.Date; //I kNow this is monday due to grid filters
 _tuesday = startDate.AddDays(1).Date;
 _wednesday = startDate.AddDays(2).Date;
...
 monday = context.Entites.Where(x=>x.Date == _monday).Sum(s => s...);
 tuesday = context.Entities.Where(x=>x.Date == _tuesday).Sum(s => s...);

但是我收到的数据并不完全正确,并且某些值分配给错误的日期。

是否有一种方法可以使该查询与我目前的方法一起使用?该查询非常庞大,并且充满了其他过滤器(我知道它们不会干扰日期匹配),就像我正在处理的数据集一样,因此此处不提供使用DbFunctions的选择(除非它完全不会影响性能)。

解决方法

您可以按照以下步骤进行操作

LockSupport.park(this);