我想执行这样一个查询
var result = from entry in table
where entry.something == null
select entry;
然后生成一个 IS NULL
。
编辑: 在前两个答案之后,我觉得有必要澄清一下,我正在使用实体框架 而不是 Linq to SQL。 object. Equals ()方法似乎在 EF 中不起作用。
编辑第二条:
以上查询按预期工作。它正确地生成 IS NULL
。但是我的生产代码是
value = null;
var result = from entry in table
where entry.something == value
select entry;
生成的 SQL 为 something = @p; @p = NULL
。似乎 EF 正确地翻译了常量表达式,但是如果涉及到一个变量,它就把它当作一个正常的比较。有道理。我来结束这个问题。