日期范围比较在Entity Framework 5中不起作用

时间:2015-07-09 06:33:46

标签: linq asp.net-mvc-4 entity-framework-5

我在Entity Framework中编写了一个查询。检查当前日期是否在我的数据库中的两个日期之间。但是没有结果返回,即使日期介于两者之间。

这是我的代码。

var coupon = db.COUPONs.AsEnumerable().FirstOrDefault(c => 
                   c.COUPONCODE == "ICLMSC15958565" && 
                   c.COURSEID == 270 && 
                   c.ACTIVEFLAG == "Y" && 
                   c.REMAIN > 0 &&
                  (c.VALIDFROM.Value.Date >= DateTime.Now.Date  &&
                   c.VALIDTO.Value.Date <= DateTime.Now.Date));

我的表:

enter image description here

1 个答案:

答案 0 :(得分:1)

根据您的数据,在两种情况下,ValidTo日期都大于Validfrom日期。 并根据您的情况

    c.VALIDFROM.Value.Date >= DateTime.Now.Date  &&
    c.VALIDTO.Value.Date <= DateTime.Now.Date

因此,如果“DateTime.Now.Date&gt; = c.VALIDTO.Value.Date”,那么'DateTime.Now.Date'将大于'c.VALIDFROM.Value.Date' 根据您的数据。所以它不会满足“c.VALIDFROM.Value.Date&gt; = DateTime.Now.Date” 条件