我知道如果使用空字段查询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
我正在寻找的语法是什么?
答案 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