0

如何在 Linq to Sql 中表达“IS NULL”sql 语法?

Where(r => (r.Level1.Equals(l[1] == "" ? null : l[1]))

在上面的代码中,linq to sql 将 linq 表达式转换为以下 sql,这不是我想要的。

@p1=NULL

我希望将我的 linq 转换为以下 sql

@p1 is null

我怎样才能做到这一点?

4

1 回答 1

2

尝试这个

if (l[1] == "")
    Where(r => (r.Level1 == null));
else
    Where(r => (r.Level1 == l[1]));

如果您使用三元运算符,表达式评估器会发现它是一个返回字符串的表达式,因此它将使用 = 运算符。

于 2013-05-14T17:07:51.713 回答