2

次のデータベーステーブル「日付」があります。

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を使用して前の日付または次の日付を取得するにはどうすればよいですか?

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

上の表現ですよね?どうすればこれを機能させることができますか?

4

2 に答える 2

2

DateTime を App.Models.Date と比較しようとしていますが、コンパイラは比較方法を知りません。

あなたはおそらく次のことをしようとしています:

var previous date = top10Date.Where(d => d.Date > latestDate.Date).OrderBy(d => d.Date).FirstOrDefault();
于 2012-08-27T22:11:44.853 に答える
0

あなたの recentDate は DateTime ではなく、Date オブジェクト全体です... Date 部分を選択するだけで、より少ないデータが返されます。

var recentDate = db.Date.OrderByDescending(d => d.Date).Select(d => d.Date).FirstOrDefault();
于 2012-08-27T22:26:37.670 に答える