我有两个文本框来获取DateTime。
例如,我在我的数据库和其他DateTime值上有今天的值。
当我选择今天的查询日期时,我无法从数据库中获取今天的日期值以显示。如果我明天选择,我可以得到我想要的东西。
我的意思是当我选择01.01.2014 - 2014年12月9日 - 我可以获得8个数据。(这是不正确的) 如果我选择01.01.2014 - 10.12.2014 - 我可以得到17个数据(这是正确的)
所以我不能得到“8” - 2014年12月9日的日期数据,即使我选择09.12.2014。
我的查询有问题吗?
@Html.TextBox("min", min, "{0:dd.MM.yyyy}", new { @class = "date", id = "min", @readonly = "true" })
@Html.TextBox("max", max, "{0:dd.MM.yyyy}", new { @class = "date", id = "max", @readonly = "true" })
我的模特财产:
public DateTime DateTime{ get; set; }
我的查询:
model= (MyBL.GetAllValues().Where(a => a.DateTime>= min && a.DateTime<= max && a.DeptId== myDeptId)).ToList();
答案 0 :(得分:2)
这可能是因为max
= 09.12.2014 0:00
,即午夜。所以09.12.2014 1:00
例如在max
之后。您可能只想比较日期,您可以尝试这样做:
MyBL.GetAllValues().Where(a => a.DateTime.Date >= min.Date && a.DateTime.Date <= max.Date && a.DeptId== kullanicininBirimi)
答案 1 :(得分:1)
上面的答案将引发异常,因为LINQ to Entities不支持Date属性。您可以使用EntityFunctions.TruncateTime方法。查看答案How to compare DateTime without time via LINQ?和The specified type member 'Date' is not supported in LINQ to Entities Exception