如何使用linq to sql检查底层空值?

时间:2013-03-22 21:18:10

标签: .net linq linq-to-sql

我知道如果使用空字段查询linq-to-sql记录(即DB / object中的行),则linq to SQL将允许您访问空值而不会出现空引用异常,如下所示: Dim myValue as String = myRecord.Nullfield

但我想查询底层数据库中的字段为空的记录。

如何使用LINQ执行此操作?

(From l In myDB.myTable Where l.Program.Equals(DBNull.Value) Select l).Count //Unexpected type code: DBNull

我正在寻找的语法是什么?

2 个答案:

答案 0 :(得分:2)

使用== null(或者VB.NET等价物)。不再DBNull。耶!

答案 1 :(得分:0)

请参阅MSDN上的null semantics mismatching文章。 通常,您可以使用

(From l In myDB.myTable Where l.Program.Equals(null) Select l).Count

(From l In myDB.myTable Where l.Program == null Select l).Count