我在LINQ查询中遇到空值问题。
这是我的疑问:
Dim partsquery = (From u In parts.AsEnumerable() _
Where u.Field(Of String)("PART_GRP").Equals(sPartType)
Select PART_GRP = u.Field(Of String)("PART_GRP"), Serial_Num = u.Field(Of String)("PART_SN"),
Position = u.Field(Of Integer?)("PART_POS_NUM"))
在我的代码中,在查询之后,在For循环中我有:
If partsquery.Count >= i Then
If Not IsDBNull(partsquery(i).Position) Then
sPartsPosition = partsquery(i).Position.ToString
End If
在“IF NOT ...”行中我得到:“对象引用未设置为对象的实例。”
我试过
If Not partsquery(i).Position Is Nothing Then
和
If partsquery(i).Position.HasValue Then
他们都给我“对象引用没有设置为对象的实例。” 或“可以为空的对象必须有一个值。”
在我的查询中,Position字段是可空的,我认为这意味着允许空值,所以我希望将“”分配给字符串变量。我做错了什么?
感谢您的帮助。这让我发疯了。