根据各种日期规则获取节点

时间:2017-10-21 12:50:53

标签: c# linq

我需要根据2个规则获取节点列表,这两个规则都与日期字段相关(本例中为myDate)。

我目前有以下内容,只接受2条规则中的一条,即检查日期字段是否为空;

var results = root.Descendants("myDocType") 
    .Where(x => !x.GetProperty("myDate").HasValue)
    .OrderBy("myDate desc");

在同一个Where子句中,我需要检查:

  • 日期为空或
  • 日期是今天或更早(只是日期,而不是一天中的时间)

所以我基本上需要在Where子句中添加最后一个要求。但是如何?

1 个答案:

答案 0 :(得分:0)

找到解决方案:

var results = root.Descendants("myDocType")
   .Where(x => !x.GetProperty("myDate").HasValue 
             || x.GetPropertyValue<DateTime>("myDate") >= DateTime.Now.Date)
   .OrderBy("myDate desc");