VB лямбда, которая проверяет DBNull - PullRequest
0 голосов
/ 04 января 2012

Этот код должен возвращать все записи, в которых компонент месяца DateCreated равен указанному значению MonthIssued.Проблема в том, что если DateCreated равен DBNull, я получу исключение времени выполнения, для которого требуется дополнительный троичный оператор If.Любой способ обойти это / это приведет к снижению производительности, код фактически выполняется?

resultSet = resultSet.Where(Function(d) If(d.a.DateCreated.HasValue, If(d.a.DateCreated.Value.Month = MonthIssued, True, False), False))

1 Ответ

4 голосов
/ 04 января 2012

Вместо использования троичных, попробуйте использовать логический оператор короткого замыкания AndAlso:

resultSet = resultSet.Where(Function(d) _
    d.a.DateCreated.HasValue AndAlso _
    d.a.DateCreated.Value.Month = MonthIssued)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...