问题描述
我正在尝试建立一个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);