如何在LINQ-to-SQL where条件中处理可为空的DateTime?

时间:2010-12-18 15:02:43

标签: linq-to-sql

我需要选择尚未过期的优惠券列表。那就是:

where Coupon.ExpiresOn > DateTimeUtc.Now

问题是Coupon.ExpiresOn是DateTime(DateTime?)的可空。上面的代码不会在Coupon.ExpiresOn中返回具有空值的优惠券。我怎么能改变它以返回空值?谢谢你的帮助。

2 个答案:

答案 0 :(得分:5)

在你的位置允许空值,如下所示:

  

Coupon.ExpiresOn == null ||   Coupon.ExpiresOn> DateTimeUtc.Now

答案 1 :(得分:4)

在where语句中添加或:

where !Coupon.ExpiresOn.HasValue || Coupon.ExpiresOn.Value > DateTimeUtc.Now