LINQ按日期降序排列对象集合

时间:2013-04-19 12:35:25

标签: c# linq entity-framework

我有一堆对象(产品),我想先按降序创建日期,然后只显示前10条记录。 创建日期的格式(DateTime)如下所示。

4/4/2007 12:00:00 AM

这就是我的尝试。

如何按日期降序排序前10名?

var productLatestReleases = (from p in visualsProduct
                                 from pf in p.DomainObjectFields
                                 select p).Distinct().OrderByDescending(d => d.DateCreated).Take(10); 

1 个答案:

答案 0 :(得分:5)

由于您描述的是日期格式,我认为DateCreated属性的数据类型为string。如果是,那么你可以这样做:

.OrderByDescending(d => Convert.ToDateTime(d.DateCreated)).Take(10)

另外,如果您没有指定自己的相等比较,那么Distinct()将不会产生太大影响。