如何只显示4个最近添加的数据库记录?

时间:2012-06-22 10:38:03

标签: c# .net tsql sql-server-ce

我已经在ASP.Net上运行了MVC3 Razor教程,并且已经开始尝试调整它以使用我自己的小型Web项目。

到目前为止,我所做的是创建一个将为新数据库记录添加两个字段的部分。 “News_Item”和“News_Date”字段。

然后,当在单独的页面上显示这些数据时,我只想显示最近添加的4条记录。

我的查看代码(下方)显示数据库中的所有条目没有问题,但我想如上所述进行修改,因此它只显示最近的4条记录。我该怎么做呢?我是初学者,没有真正的开发经验。

在我的控制器中,我有以下“获取”代码:

public ViewResult Index()
{
    return View(db.News_Entries.ToList());
}

以防万一需要,以下是型号代码:

namespace dale_harrison.Models
{
    public class News
    {
        public int ID { get; set; }
        public string News_Entry { get; set; }
        public DateTime News_Date { get; set; }
    }

    public class NewsDBContext : DbContext
    {
        public DbSet<News> News_Entries { get; set; }
    }
}

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

更改您的操作代码

public ViewResult Index()
{
    return View(db.News_Entries.OrderByDescending(n => n.News_Date).Take(4).ToList());
}

你应该阅读linq to entity tutorials

答案 1 :(得分:2)

以下LINQ查询:

var latest4 = db.News_Entries.OrderByDescending(n => n.News_Date).Take(4);

应转换为以下SQL查询:

select top 4 *
from news
order by date desc