IsNull и обнуляемые типы в LINQ - PullRequest
0 голосов
/ 09 декабря 2010

Я пытаюсь преобразовать следующую строку SQL в код LINQ:

AND IsNull(Deleted,0) = 0

Я пытался сделать это:

&& Deleted != null ? Deleted : false

А это:

&& (bool)Deleted != null ? (bool)Deleted : false

Первая попытка вызвала ошибку, поскольку Deleted имеет тип nullable, а вторая попытка не возвращает тот же набор данных, что и исходный SQL. Кто-нибудь может сказать мне, что я делаю не так?

Ответы [ 2 ]

1 голос
/ 27 мая 2014

linq;

where !(u.Deleted ?? false)

sql выход:

ГДЕ (КОГДА-КОГДА ([Extent1]. [Удалено])IS NULL) ТОЛЬКО приведение (0 в качестве бита), ДАЛЕЕ [Extent1]. [Удалено] END) <> приведение (1 в качестве бита)

1 голос
/ 09 декабря 2010

Вы можете использовать

&& Deleted.GetValueOrDefault (false) == false

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