2

我已经浏览了 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; }
    }
}

非常感谢您的帮助。

4

2 回答 2

3

更改您的操作代码

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

你应该阅读linq to entity 教程

于 2012-06-22T10:42:35.197 回答
2

以下 LINQ 查询:

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

应转换为以下 SQL 查询:

select top 4 *
from news
order by date desc
于 2012-06-22T10:40:03.607 回答