如何在linq查询中检查null?

时间:2014-02-12 15:41:00

标签: c# asp.net-mvc linq entity-framework

我在linq查询中尝试检查其中一个字段是否为null但是无论我做什么都会出现此错误。

“非静态方法需要目标。”

这是我的代码:

var users = from s in db.Users
                        where s.DepartmentId == booking.Item.DepartmentId && s.UserEmail != null
                        select s;

是否可以解决此错误,并能够实际检查UserEmail是否为空?

p.s:我正在使用asp.net mvc实体框架。

2 个答案:

答案 0 :(得分:1)

确保前2个字母为大写(DBNull.Value)。

编辑:

尝试将您的预订项目复制到本地变量中。

var departmentId = booking.Item.DepartmentId;
var users = from s in db.Users
where s.DepartmentId == departmentId && s.UserEmail != null
select s;

答案 1 :(得分:0)

var users = from s in db.Users
     where s.DepartmentId == booking.Item.DepartmentId && s.UserEmail != DbNull.Value                                
     select s;

您需要将其与DbNull.Value

进行比较