LINQ 选择列值为 NULL 的行
本文关键字:NULL 的行 选择 LINQ | 更新日期: 2023-09-27 18:36:02
var myRows = myContext.MyTable
.Where(v => v.MyColumn == null);
这不会从表中选择任何行,即使有许多行"MyColumn 为空"?
我需要选择MyColumn包含null的行。
我意识到在 T-SQL 中我必须使用"IS NULL"运算符,但我如何在 Linq 中选择所需的行?
我正在使用实体框架 5.0。
如果这应该有效,请告诉我,因为我的错误必须在其他地方。
谢谢
这可能
不起作用的一个常见原因是,如果将可为空的数据库列(例如,MyColumn INTEGER NULL
)映射到C#类的不可为空字段(例如,int MyColumn
而不是int? MyColumn
)。
确保MyColumn
是可为空的类型来解决此问题:除此之外,您的表达式是正确的,EF 会将其正确转换为 IS NULL
。
是的,它应该按原样工作编辑:可能需要检查的事情,该列在您的 edmx 中是否正确标记为可为空?我猜如果不是,这可能是一个问题