C# 下一个和上一个日期的 Lambda 表达式

标签 c# asp.net-mvc-3 lambda

我有以下数据库表“日期”:

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();

上面的表达对吗?我怎样才能做到这一点?

最佳答案

您正在尝试将 DateTime 与 App.Models.Date 进行比较,但编译器不知道如何进行比较。

您可能正在尝试执行以下操作:

var previous date = top10Date.Where(d => d.Date > latestDate.Date).OrderBy(d => d.Date).FirstOrDefault();

关于C# 下一个和上一个日期的 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150298/

相关文章:

javascript - IE7 javascript 错误 : runtime-error microsoft jscript: dropdownlist is not defined

.net - 将 ASP.NET MVC 3 RC 发布到 Windows Azure

c# - .Where Lambda 表达式加载整个表

c++ - 如果在 lambda 中,MSVC 不尊重 constexpr

c# - 如何以编程方式更改文件位置?

c# - 计算 Minecraft 爆炸

c# - MVC 3 自定义路由处理程序 - 跳到下一个自定义路由规则?

c# - ASP.NET MVC 应用程序的版本控制 REST API

c# - 如何更改 ListView 上所选项目的颜色?

java - 带谓词的 Selenium 过滤器