|
|
1
54
其他方式:
或
|
|
2
29
要做的第一件事是进行日志记录,查看生成了什么TSQL;例如:
LINQ to SQL似乎对null的处理有点不一致(取决于文字与值):
即
|
|
3
5
我的猜测是,这是由于DBMS的一个相当常见的属性——仅仅因为两个东西都为null并不意味着它们相等。 要详细说明一下,请尝试执行以下两个查询:
当您显式检查“field==NULL”时,LINQ可能会将其转换为“fieldisnull”。但是当您使用变量时,我猜LINQ不会自动进行转换。 这是 an MSDN forum post 有关此问题的更多信息。
|
|
|
4
4
您需要使用运算符Equals:
等于 fot可为null的类型返回 如果: 返回 错误的
更多信息请点击这里 Nullable<.T>.Equals Method |
|
|
5
1
|
|
|
6
1
或者你可以简单地使用这个。它还将转换为更好的sql查询
|
|
|
7
0
Linq to Entities支持空值协同(?),因此只需将空值实时转换为默认值即可。
|
|
Dee J. Doena · 比较两个空可空值 9 年前 |
|
|
Konrad Viltersten · 如何让EF理解某些列不可为空? 9 年前 |
|
|
Martin Senne · SparkSQL:如何处理用户定义函数中的空值? 10 年前 |
|
|
Muhammad Nasir · 空对象设计模式与空对象检查 10 年前 |
|
|
checketts · 从可空对象创建流的惯用方法 10 年前 |