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