zey*_*zey 19 c# linq sql-server asp.net
这是我的代码,
rptAnnouncement.DataSource = DbContext.Announcements
.Where(n => n.Expire_Date.Value.Date >= DateTime.Now.Date)
.ToList();
Run Code Online (Sandbox Code Playgroud)
我从lambda中获取数据库中的公告数据,并将此数据绑定到ASP.NET repeater(rptAnnouncement).
但是这个查询返回所有数据,我只想获得像MS SQL Server这样的前五(前5)个记录select top 5 * from database.
Dan*_*mms 51
您可以使用OrderBy()订购元素,然后Take()采取前5.
rptAnnouncement.DataSource = DbContext.Announcements
.Where(n => n.Expire_Date.Value.Date >= DateTime.Now.Date)
.OrderBy(n => n.Expire_Date.Value.Date)
.Take(5);
Run Code Online (Sandbox Code Playgroud)
笔记
OrderByDescending()ToList()然后呼叫Take()将获得所有项目然后进入前5名而不是仅获得前5名.如果您只想要前五名,那么您可以使用以下内容.
rptAnnouncement.DataSource = DbContext.Announcements.Where(n => n.Expire_Date.Value.Date >= DateTime.Now.Date).Take(5).ToList();
Run Code Online (Sandbox Code Playgroud)
更多细节在这里
http://msdn.microsoft.com/en-us/library/bb503062.aspx
| 归档时间: |
|
| 查看次数: |
45049 次 |
| 最近记录: |