Почему сравнение значений свойств объектов не проверяется - PullRequest
1 голос
/ 09 декабря 2011

Я использую Entity Framwork и у меня есть Клиент Entity со свойством:

CustomerStatus (возможные значения NULL, 0, 1)

У меня был код, который читал

If Not Customer.CustomerStatus = 1 Then
 ' I want this to execute when Customer.CustomerStatus Is NULL or 0
 'Do This
End If

Однако я заметил, что этот код не выполняется, когда Customer.CustomerStatus - ничто.

Это верно для всех объектов или я что-то не так делаю?

1 Ответ

0 голосов
/ 09 декабря 2011

Ваш CustomerStatus является Nullable(int).Это означает, что это может быть NULL (у него нет значения) или любое другое Int.

Сравнение NULL с 1 возвращает false.Если вы хотите, чтобы тест прошел один NULL и 1, вы можете использовать Customer.CustomerStatus = 1 Or (Not Customer.CustomerStatus.HasValue)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...