0
我需要比較上週和兩週前用戶的分數。linq比較兩個日期之間的列數據
我有像這樣 成績表
user score subject date
2 10 math 21/10/2012
2 5 science 23/10/2012
2 5 math 16/10/2012
2 9 science 15/12/2012
我需要製作一個查詢,顯示上週的成績,以及它是否是從2周增加或減少前的得分
user score subject date increase/decrease
2 10 math 21/10/2012 +5
2 10 science 23/10/2012 -4
日期列不需要包含在查詢中 我已經有了從上週到兩週前的周範圍的代碼。然而,我比較兩個日期卻遇到了麻煩。
DateTime date = DateTime.Now;
DateTime startOneWeekAgo = date.AddDays(-7).Date.AddDays(-(int)date.DayOfWeek),
endOneWeekAgo = startOneWeekAgo.AddDays(7);
DateTime startTwoWeeksAgo = startOneWeekAgo.AddDays(-7),
endTwoWeeksAgo = endOneWeekAgo.AddDays(-7);
從s的成績,其中s.scoredate> = startOneWeekAgo & & s.scoredate < endOneWeekAgo
這導致。這是我到目前爲止所。幫助將不勝感激。
user score subject
2 10 math
2 5 science
謝謝他的回覆。它說LINQ不能識別Last()方法,這個方法不能被轉換成存儲表達式。 –
@shinratensei Enumerable.Last方法有什麼問題? http://msdn.microsoft.com/en-us/library/system.linq.enumerable.last.aspx –