1
A
回答
3
如果你有興趣在最接近天的活動,你可以這樣做:
DateTime today = DateTime.Now;
var events = context.Events
.OrderBy(e => Math.Abs((today - e.DueDate).Days))
.Take(5)
.ToList();
這需要那些事件離今天(過去或未來)最少的天數。
如果你想那是最近的,但只有在未來的事件,你可以這樣做:
DateTime today = DateTime.Now;
var events = context.Events
.Where(e => e.DueDate >= today)
.OrderBy(e => (e.DueDate - today).Days)
.Take(5)
.ToList();
編輯:
如果使用LINQ到實體不直接支持DateTime
操作,但如果你使用的SQL服務器像DateDiff應該工作(未經測試,你將不得不嘗試自己):
如果這不起作用,你總是可以首先獲取你的數據,然後用LINQ過濾對象,這有附加的好處,你沒有把自己綁定到SQL Server - 但顯然它不是非常有效的:
DateTime today = DateTime.Now;
var futureEvents = context.Events
.Where(e => e.DueDate >= today);
.ToList();
var filteredEvent = futureEvents
.OrderBy(e => (e.DueDate - today).Days)
.Take(5)
.ToList();
1
一種方式來寫它:
var events = context.Events.OrderByDescending(e=>e.DueDate).Take(5);
+0
這會不會選擇前5名有'最大'Duedate的recoreds? – user469652 2011-01-22 05:33:19
相關問題
- 1. LINQ;如何獲得記錄與最大日期加入?
- 2. 如何獲得 - 最後插入使用LinQ過濾器記錄?
- 3. 如何編寫與最近的記錄先申請
- 4. 如何獲得OrmLite的最近10條記錄?
- 5. 如何獲得最近3小時內更新的記錄sql
- 6. 如何獲得最近24小時的記錄?
- 7. 如何獲得最近的n項平均積極記錄
- 8. LINQ查詢最近的記錄
- 9. LINQ獲得來自多個記錄的最新記錄列出
- 10. 如何獲得最近插入的每個值的記錄有效
- 11. LINQ;如何使用連接獲得最大ID的記錄?
- 12. 如何獲取最近插入的記錄amoung重複數據
- 13. 如何編寫linq語句來獲取一組記錄的最後一個
- 14. 獲得給定ID列表中每個ID的最近更新記錄。 LINQ
- 15. 如何獲得最後10條記錄
- 16. 如何獲得最後的記錄?
- 17. SQL加入以獲得最新記錄
- 18. 最近的記錄
- 19. 如何編寫SQL和LINQ以獲取條件中某條記錄的結果?
- 20. 如何編寫查詢來獲取最後一週的記錄
- 21. 如何獲得第一個記錄和最後一個記錄
- 22. MySQL查詢獲取最近的記錄
- 23. 從最近的月份獲取記錄
- 24. 獲取最近的非空記錄
- 25. MySQL:獲取最近的記錄
- 26. TSQL獲取最近的記錄
- 27. android獲取最近5條記錄
- 28. 左加入最近的記錄
- 29. SQL給予最近插入的記錄
- 30. 如何獲得最後插入的記錄
DueDate是否反映記錄的「最近」? – 2011-01-22 05:35:19
不〜這只是一個到期日期。 – user469652 2011-01-22 05:39:29