Я хочу выполнить запрос, подобный этому
var result = from entry in table
where entry.something == null
select entry;
и получите сгенерированный IS NULL
.
Отредактировано:
После первых двух ответов я чувствую необходимость уточнить, что я использую Entity Framework
а не Linq to SQL. Кажется, что метод object.Equals () не работает в EF.
Правка № 2:
Вышеуказанный запрос работает как задумано. Он правильно генерирует IS NULL
. Мой производственный код, однако, был
value = null;
var result = from entry in table
where entry.something == value
select entry;
и сгенерированный SQL был something = @p; @p = NULL
. Кажется, что EF правильно переводит константное выражение, но если переменная задействована, она воспринимает это как обычное сравнение. Имеет смысл на самом деле. Я закрою этот вопрос