【发布时间】:2014-11-13 11:15:28
【问题描述】:
这是我的代码:
var now = DateTime.Now;
var firstOfMonth = new DateTime(now.Year, now.Month, 1, 0, 0, 1);
var objectsAfterFirstOfThisMonth= _context.DataObjects
.Where(x => x.dateClosed == null ? x.dateClosed : x.dateCreated > firstOfMonth);
我得到以下编译错误:
'System.Nullable' 和 'bool' 之间没有隐式转换
我对 lambda 语法的理解不足以理解此错误。
如果我无法使用这种三元语法,那么我将需要从数据库中获取 DataObjects 的完整列表,然后遍历该列表,创建过滤列表(那些日期晚于当月第一天的对象) 我去。
简而言之,我的目标是:我想获取本月第一天之后发生的所有对象。 dateCreated 字段永远不会为空。 dateClosed 有时为空。 dateClosed 更准确,我想尽可能多地比较该日期,但如果 dateClosed 为空,则需要退回到 dateCreated。
如果我需要提供更多信息,请告诉我。
提前致谢!
【问题讨论】:
-
编译器清楚地告诉你哪里出了问题。
标签: c# datetime lambda boolean ternary-operator