我正在尝试建立一个博客网站。我的数据库中有3个不同的类别:艺术,技术,设计。
我想显示每个类别的最后添加的文章。我的意思是:
ART TECHNOLOGY DESIGN
last articles last article last article
在ActionResult中,将所有文章发送到此处:
public ActionResult Index()
{
using (MvcBlogContext context = new MvcBlogContext())
{
List<Article> article= context.Article.ToList();
return View(article);
}
}
如何编写代码以查看cshtml中每个类别的最后一篇文章?
答案 0 :(得分:1)
您可以先按Grouping
依次按Category
和SelectMany
进行操作,然后按CreationDate
desc的顺序从每个类别中进行选择。和Take
每个类别的前1名
如下:
public ActionResult Index()
{
using (MvcBlogContext context = new MvcBlogContext())
{
List<Article> article= context.Article.GroupBy(x => x.Category)
.SelectMany(x => x.OrderByDescending(s => s.CreationDate).Take(1)).ToList();
return View(article);
}
}