LINQ查询,其中列包含空值
问题描述:
我有以下查询LINQ查询,其中列包含空值
Dim get_rmf_2 = From rmf In t_rmf _
Where rmf!NIVP = nivp_rap
当我运行它,我得到一个错误:
Operator '=' is not defined for type 'DBNull' and string "test".
我怀疑这是因为在列“NIVP”数据表包含空值,我试过没有空值的同样的东西,它的工作原理。
那么我该如何做这项工作? ;列“NIVP”确实有一行“测试”,并且正常的SQL查询工作正常。
答
我没那么熟悉VB语法LINQ但你可以尝试这样的事情:
Dim get_rmf_2 = From rmf In t_rmf _
Where Not IsDBNull(rmf!NIVP) AndAlso rmf!NIVP = nivp_rap
+0
谢谢,它做到了。 – Iulian 2010-02-23 17:01:10
什么是RMF NIVP吗?看起来您可能已将查询处理到内存中,然后对其进行评估。通常,LINQ将在数据库中执行查询并为您处理这种情况。 – smaclell 2010-02-23 16:38:02
以及查询数据表(t_rmf)rmf!NIVP参照该数据表的一列。 我也会在这个问题上改变这个。 – Iulian 2010-02-23 16:40:28