我完全陷入了困境 . 如果公司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 回答
这一切都隐藏在documentation中
你有最大值,然后是最小值,所以你得到的是负天数 . 将它们交换或代替
> 0
进行< 0
.