我在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));
我的表:
答案 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” 条件