我有一个关于从DB获取结果的一般性问题,其中特定列为null
。
示例:
表"Student"
no int //1,2,3 etc..
name varchar(50) //xxx, yyy etc...
isMinor char(36) //'Y' OR 'N' OR NULL
现在当我必须得到isMinor
为空的行时,我们必须使用以下查询
SELECT* FROM Student WHERE isMinor IS NULL
我需要LINQ
中的等效查询。我尝试了DBNull.Value
并与null
尝试String.Empty
进行了比较,但没有任何效果。
var result = from s in db.Student where s.isMinor == null Select s
结果:返回0条记录,即使数据库中有一些记录null
列中的值isMinor
var result = from s in db.Student where s.isMinor == DBNull.Value Select s
结果:
错误:“意外类型代码:dbnull”
var result = from s in db.Student where (Object)s.isMinor == DBNull.Value Select s
结果:
错误:“意外类型代码:dbnull”
var result = from s in db.Student where String.isNullOREmpty(s.isMinor) Select s
结果:返回0条记录,即使数据库中有一些记录null
列中的值isMinor
此查询构造中是否缺少任何内容?