Как обработать обнуляемый DateTime в условии LINQ-to-SQL, где? - PullRequest
3 голосов
/ 18 декабря 2010

Мне нужно выбрать список купонов, которые еще не истекли. То есть:

where Coupon.ExpiresOn > DateTimeUtc.Now

Проблема заключается в том, что Coupon.ExpiresOn может иметь значение DateTime (DateTime?). Приведенный выше код не возвращает купоны с нулевыми значениями в Coupon.ExpiresOn. Как я могу изменить его, чтобы вернуть нулевые значения? Спасибо за вашу помощь.

Ответы [ 2 ]

5 голосов
/ 18 декабря 2010

разрешить пустые значения в вашем месте, например:

где Coupon.ExpiresOn == null ||Coupon.ExpiresOn> DateTimeUtc.Now

4 голосов
/ 18 декабря 2010

Добавьте или к вашему утверждению where:

where !Coupon.ExpiresOn.HasValue || Coupon.ExpiresOn.Value > DateTimeUtc.Now
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...