此代码应返回DateCreated的month组件等于指定的MonthIssued值的所有记录。问题是,如果DateCreated是DBNull,我将得到一个运行时异常,需要额外的If三元运算符。无论如何都会导致性能下降,代码实际执行了吗?
resultSet = resultSet.Where(Function(d) If(d.a.DateCreated.HasValue, If(d.a.DateCreated.Value.Month = MonthIssued, True, False), False))
答案 0 :(得分:4)
尝试使用短路AndAlso
逻辑运算符:
resultSet = resultSet.Where(Function(d) _
d.a.DateCreated.HasValue AndAlso _
d.a.DateCreated.Value.Month = MonthIssued)