使用Linq to Sql选择集合中的最新新闻文章

时间:2010-08-18 21:11:35

标签: asp.net-mvc linq linq-to-sql

我有一堆新闻文章,我想选择使用Linq to Sql的最新文章。我有一个像这样的MVC动作方法

[ChildActionOnly]
public ActionResult LatestNews()
{
    var article = mhndb.NewsArticles.Single();

    return PartialView("LatestNews", article);
}

我想知道使用Linq选择NewsArticles集合中最新项目的语法。提前谢谢。

2 个答案:

答案 0 :(得分:2)

最简单的选择是使用OrderByDescending,然后使用FirstOrDefault()

var article = mhndb.NewsArticles.OrderByDescending(a => a.PostedTime)
                                .FirstOrDefault();

(如果您使用First,如果没有条目,它将抛出异常。对于FirstOrDefault,它将返回null。)

如果要使用查询表达式,它将如下所示:

var article = (from a in mhndb.NewsArticles
               orderby a.PostedTime descending
               select a).FirstOrDefault();

答案 1 :(得分:0)

使用类似

的内容
mhndb.NewsArticles.OrderBy(a => a.publishDate).Last()