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

Ari*_*ule 4 c# linq entity-framework

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

4/4/2007 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的。

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

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

And*_*son 5

由于您正在描述日期的格式,因此我假设DateCreated属性的数据类型为string。如果是这样,则可以执行以下操作:

.OrderByDescending(d => Convert.ToDateTime(d.DateCreated)).Take(10)
Run Code Online (Sandbox Code Playgroud)

同样,Distinct()如果您不指定自己的相等性进行比较,则对您的影响不大。