Linq查询输出与Sql查询输出不匹配

时间:2013-09-17 21:13:30

标签: sql linq

Repository.Calls
    .Count(call => call.OutcomeActionDate.Value >= fourWeeksStartDate && 
                   call.OutcomeActionDate.Value < threeWeeksStartDate && 
                   call.UserId == user.UserId);

上面的查询给出了输出1和sql查询:

select * 
from calls 
where userid = 1006 and
      outcomeactiondate >= '2013-08-19' and
      OutcomeActionDate < '2013-08-26'

给我输出15。

输出15是正确的。我不知道为什么linq查询给我的值不正确? select查询中使用的所有参数值与linq查询中传递的相同。

1 个答案:

答案 0 :(得分:2)

尝试使用Date部分过滤日期:

Calls.Count(call => call.OutcomeActionDate.Value >= fourWeeksStartDate.Date &&
                    call.OutcomeActionDate.Value < threeWeeksStartDate.Date &&
                    call.UserId == user.UserId);