C# 为什么DiffDay返回0结果

C# 为什么DiffDay返回0结果,c#,sql-server,linq,C#,Sql Server,Linq,我完全卡住了。如果公司ID超过2天,我将尝试查询结果 我用一个对象来模拟数据库是什么,所有这些都工作了——我现在用的是一个数据库 我的数据库是 Id DateTime CompanyId 1 2015-02-03 10:30:01:000 5 2 2015-02-03 10:29:01:000 5 3 2015-02-03

我完全卡住了。如果公司ID超过2天,我将尝试查询结果

我用一个对象来模拟数据库是什么,所有这些都工作了——我现在用的是一个数据库

我的数据库是

Id         DateTime                          CompanyId
1          2015-02-03 10:30:01:000              5  
2          2015-02-03 10:29:01:000              5
3          2015-02-03 10:27:01:000              5
4          2015-02-03 09:26:01:000              5
5          2015-01-01 10:30:01:000              5
请注意,最后一项是不同的日期

下面的linq是获取最大值和最小值之间的天数,如果差异超过1天,则显示结果<代码>\u visitDetail(以下)是实体表对象

var ids = from o in _visitDetail
          group o by o.CompanyId into grouped
          where (EntityFunctions.DiffDays(grouped.Max(s => s.DateTime), grouped.Min(s => s.DateTime))) > 0
          select grouped;

问题是我总是得到0个结果,而我希望得到一个项目。我看不出我做错了什么或为什么

这些都隐藏在

返回:
dateValue1和dateValue2之间的天数


首先是最大值,然后是最小值,所以天数为负数。交换它们,或者用
<0
代替
>0
这一切都隐藏在

返回:
dateValue1和dateValue2之间的天数


首先是最大值,然后是最小值,所以天数为负数。交换它们,或者用
<0
代替
>0
这一切都隐藏在

返回:
dateValue1和dateValue2之间的天数


首先是最大值,然后是最小值,所以天数为负数。交换它们,或者用
<0
代替
>0
这一切都隐藏在

返回:
dateValue1和dateValue2之间的天数


首先是最大值,然后是最小值,所以天数为负数。交换它们,或者用
<0
代替
>0

文档中实际上没有那么清楚,但我承认,我本应该能够自己测试一下,以解决这个问题:(!@MyDaftQuestions-很抱歉有点开玩笑的回答;)供将来参考,分析数据库并观察向数据库发出的实际sql查询,然后您可以将其粘贴到SSM中,并使用sql找出您做错了什么。在这种情况下,将生成的
DATEDIFF
部分添加到选择列表中会显示一个-ve编号。文档中实际上没有那么清楚,但我承认,我本应该能够自己测试它:(!@MyDaftQuestions-很抱歉有点开玩笑的回答;)供将来参考,分析数据库并观察向数据库发出的实际sql查询,然后您可以将其粘贴到SSM中,并使用sql找出您做错了什么。在这种情况下,将生成的
DATEDIFF
部分添加到选择列表中会显示一个-ve编号。文档中实际上没有那么清楚,但我承认,我本应该能够自己测试它:(!@MyDaftQuestions-很抱歉有点开玩笑的回答;)供将来参考,分析数据库并观察向数据库发出的实际sql查询,然后您可以将其粘贴到SSM中,并使用sql找出您做错了什么。在这种情况下,将生成的
DATEDIFF
部分添加到选择列表中会显示一个-ve编号。文档中实际上没有那么清楚,但我承认,我本应该能够自己测试它:(!@MyDaftQuestions-很抱歉有点开玩笑的回答;)供将来参考,分析数据库并观察向数据库发出的实际sql查询,然后您可以将其粘贴到SSM中,并使用sql找出您做错了什么。在这种情况下,将生成的
DATEDIFF
部分添加到选择列表中会显示一个-ve编号。