var myRows = myContext.MyTable
.Where(v => v.MyColumn == null);
这不会从表中选择任何行,即使有很多行“MyColumn为null”?
我需要选择MyColumn包含null的行。
我意识到在T-SQL中我必须使用“IS NULL”运算符,但是如何在Linq中选择我想要的行?
我正在使用Entity Framework 5.0。
如果这应该有效,请告诉我,因为我的错误必须在其他地方。
由于
答案 0 :(得分:3)
这可能不起作用的一个常见原因是,如果您将可以为空的数据库列(例如,MyColumn INTEGER NULL
)映射到C#类的不可空字段(例如,int MyColumn
而不是{ {1}})。
确保int? MyColumn
具有可空类型以解决此问题:除此之外,您的表达式是正确的,EF会正确地将其翻译为MyColumn
。
答案 1 :(得分:1)
是的它应该按原样运行 编辑:要检查的潜在事项,是否在您的edmx中正确标记为可为空的列?我猜是否可能是一个问题