如何在cshtml中查看不同的分类文章?

时间:2019-05-30 18:43:30

标签: c# asp.net-mvc

我正在尝试建立一个博客网站。我的数据库中有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中每个类别的最后一篇文章?

1 个答案:

答案 0 :(得分:1)

您可以先按Grouping依次按CategorySelectMany进行操作,然后按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);
   }
}