2010-08-18 64 views
0

我有一堆新聞文章,我想選擇使用Linq to Sql的最新文章。我有像這樣選擇Linq to Sql的集合中的最新新聞文章

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

    return PartialView("LatestNews", article); 
} 

我想知道使用LINQ的NewsArticles集合中選擇最近的項目中的語法的MVC操作方法。提前致謝。

回答

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(); 
+0

感謝喬恩,這工作! – Gallen 2010-08-19 18:42:21

0

使用一些像

mhndb.NewsArticles.OrderBy(a => a.publishDate).Last() 
+0

如果有多個條目,使用'Single'將會炸燬。而使用OrderBy而不是OrderByDescending會給出*最早的*條目,而不是最新的條目。 – 2010-08-18 21:16:33