我有以下数据库表'Date':
DateId Date
1 08/05/2012
2 08/01/2012
3 08/25/2012
4 08/15/2012
5 08/22/2012
.....
要获取最近的日期,我使用以下表达式:
var recentDate = db.Date.OrderByDescending(d => d.Date).FirstOrDefault();
如何使用recentDate使用lambda表达式获取上一个日期或下一个日期?
当我尝试使用latestDate时,我收到错误消息:
operator > cannot be applied to operands of type 'System.DateTime' and 'App.Models.Date
这就是我之前约会的目的:
var previous date = top10Date.Where(d => d.Date > latestDate).OrderBy(d => d.Date).FirstOrDefault();
高于表达对吗?我怎么能做这个工作?
答案 0 :(得分:2)
您正在尝试将DateTime与App.Models.Date进行比较,编译器不知道如何比较。
您可能正在尝试执行以下操作:
var previous date = top10Date.Where(d => d.Date > latestDate.Date).OrderBy(d => d.Date).FirstOrDefault();
答案 1 :(得分:0)
你的recentDate不是DateTime,它是整个Date对象......只需选择Date部分,你也可以带回更少的数据。
var recentDate = db.Date.OrderByDescending(d => d.Date).Select(d => d.Date).FirstOrDefault();