选择Linq to Sql的集合中的最新新闻文章
问题描述:
我有一堆新闻文章,我想选择使用Linq to Sql的最新文章。我有像这样选择Linq to Sql的集合中的最新新闻文章
[ChildActionOnly]
public ActionResult LatestNews()
{
var article = mhndb.NewsArticles.Single();
return PartialView("LatestNews", article);
}
我想知道使用LINQ的NewsArticles集合中选择最近的项目中的语法的MVC操作方法。提前致谢。
答
最简单的方法是使用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();
答
使用一些像
mhndb.NewsArticles.OrderBy(a => a.publishDate).Last()
+0
如果有多个条目,使用'Single'将会炸毁。而使用OrderBy而不是OrderByDescending会给出*最早的*条目,而不是最新的条目。 – 2010-08-18 21:16:33
感谢乔恩,这工作! – Gallen 2010-08-19 18:42:21