首页 文章

为什么DiffDay返回0结果

提问于
浏览
0

我完全陷入了困境 . 如果公司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天,则显示结果 . _visitDetail (下面)是Entity表对象 .

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结果,我希望得到一个项目 . 我不明白为什么或我做错了什么......

1 回答

  • 3

    这一切都隐藏在documentation

    返回:dateValue1和dateValue2之间的天数 .

    你有最大值,然后是最小值,所以你得到的是负天数 . 将它们交换或代替 > 0 进行 < 0 .

相关问题