如何使用linq查询获取比某些日期更重要的记录

Kri*_*han -4 c# linq asp.net-mvc entity-framework

我需要获取比23/03/2018更新的日期.

List<MDetails> Pirs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MDetails>>(responseString);

Pirs = Pirs.OrderByDescending(x => (x.timestamp)).Take(100).ToList();
Pirs = Pirs.Where(x => (x.updatedate > 22/03/2018));

//datatype
public class MDetails
    {
        public DateTime timestamp { get; set; }
        public string dataFrame { get; set; }
        public double filled { get; set; }
        public DateTime updatedate { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

Tob*_*ias 7

22/03/2018将导致0,0036339610175091 :-)

x.updatedate > 22/03/2018 应该

x.updatedate > new DateTime(2018, 03, 22) 或者如果你想忽略时间组件的使用

x.updatedate.Date > new DateTime(2018, 03, 22)

如果考虑性能,可以new DateTime()将linq-expression从局部变量中提取出来.

结合2个查询可以完成

Pirs = Pirs.OrderByDescending(x => (x.timestamp)).Take(100).Where(x => x.updatedate > new DateTime(2018, 03, 22)));