我正在尝试检查 linq 中的日期是否为空,如果不是,则检查它的 future 日期。
QuestionnaireRepo.FindAll(q => !q.ExpiredDate.HasValue || q.ExpiredDate >DateTime.Now).OrderByDescending(order => order.CreatedDate);
我需要第二个检查仅在第一个为真时才适用。我使用的是单一存储库模式,FindAll 接受了 where 子句
有任何想法吗?这里有很多类似的问题,但没有给出答案,正如您可能猜到的那样,我对 Linq 很陌生:)
编辑:我现在得到了我需要的结果,但在某些情况下它会检查 > 以空值为条件。这不是坏事吗?
最佳答案
这行不通?
QuestionnaireRepo.FindAll(
q => (q.ExpiredDate == null) || (q.ExpiredDate > DateTime.Now));
关于具有多个条件和空检查的 Linq where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2464122/