3

我用这段代码抓取文章。

List<view_M04FrontpagesEntity> fList = new view_M04FrontpagesService().GetByCategoryId(0);

var article = new M02ArticlesService().GetById(fList.First<view_M04FrontpagesEntity>().M02ArticleId);

我想获取最新的文章article.UpdatedDate如何用 linq 或其他方法最好地做到这一点?

4

5 回答 5

4

使用MaxBy方法提供了我的MoreLinq

List<view_M04FrontpagesEntity> fList = new view_M04FrontpagesService().GetByCategoryId(0);

var newest = fList.MaxBy(article => article.UpdatedDate);
于 2013-03-14T12:35:23.030 回答
4

您可以在 LInQ 中使用 OrderByDescending。

var query = myList.Where(x =>x=="somePredicate")
                  .OrderByDescending(x => x.UpdatedDate ).FirstOrDefault();

返回序列的第一个元素,如果序列不包含任何元素,则返回默认值。

于 2013-03-14T12:35:58.593 回答
1
var first = articles.OrderByDescending( a => a.UpdateDate ).First();

一般来说,就是这样。您需要自己将其转移到您的代码中,因为您发布的代码都没有帮助。

于 2013-03-14T12:37:47.020 回答
1
var result = (from article in fList
        orderby article.UpdatedDate descending
        select article).First();
于 2013-03-14T12:38:08.800 回答
0

这是按预期工作的。

var m04FrontpagesEntities = new view_M04FrontpagesService().GetByCategoryId(0).ToList().Select(x => new M02ArticlesService().GetById(x.M02ArticleId)).ToList().OrderByDescending(x => x.UpdatedDate); ;
var article = m04FrontpagesEntities.First();
于 2013-03-15T08:13:51.650 回答