2
我试图创建一个Linq to Entities查询来选择两个日期之间的记录。Linq查询日期范围不返回任何记录?
TimeCards.Where(t => t.StartTime >= DbFunctions.CreateDateTime(2015,1,31,null,null,null) && t.EndTime < DbFunctions.CreateDateTime(2017,2,14,null,null,null))
这是我的数据集,我期待已返回
ID StartTime EndTime
1165 2016-02-01 00:15:00.000 2016-02-01 17:00:00.000
1166 2016-02-02 00:15:00.000 2016-02-02 17:00:00.000
1167 2016-02-03 00:15:00.000 2016-02-03 17:00:00.000
但我的结果回来为0的记录。
任何想法,为什么?
“StartTime”,“EndTime”和“CreateDateTime”的数据类型是什么?都是'DateTime'吗?如果对所有'Nullable'类型使用'.Value',会发生什么?类似于:'DbFunctions.CreateDateTime(2015,1,31,null,null,null).Value' – Ian
您是否尝试过不使用DbFunctions?同样在这种情况下,你可以使用SQL profiler(如果它的sql服务器)来理解linq到sql查询中的问题。 –
可能是愚蠢的,但只是提出,你需要做ToList()在哪里? – Anil