【发布时间】:2021-01-19 01:56:48
【问题描述】:
我在 SQL Server 数据库中有一个 DateTime 列。数据存储如下:
2020-10-04 23:45:00.527
我尝试将如下日期与当前日期进行比较(数据库中的日期应小于当前日期)
DateTime today = DateTime.Now.Date;
var result = (from c in TableName
where (c.Email == email) &&
c.Password == password && c.Status == 1 &&
c.ValidTill.Date <= today
select c).ToList();
但不幸的是我得到了这个异常
LINQ to Entities 不支持“日期”。仅支持初始化器、实体成员和实体导航属性
即使尝试了以下方法,似乎也不起作用:
DbFunctions.TruncateTime(c.ValidTill)
我的比较是这样的-
2020-10-04 23:45:00 (Datetime in database) <= 2020-10-10 23:00:00 (current date & time)
【问题讨论】:
-
你可以先
var tomorrow = DateTime.Today.AddDays(1),然后c.ValidTill < tomorrow,这样可以确保日期在明天之前。
标签: c# linq sql-server-2008