【发布时间】:2010-05-20 21:40:50
【问题描述】:
我有以下 LINQ 语句:
Dim PSNum As Integer = 66
Dim InvSeq = (From invRecord In InvSeqDataSet.RptInvSeqDT.AsQueryable() _
Where IIf(invRecord.IsPack_NumNull(), False, invRecord.Pack_Num = PSNum) _
Select New With _
{.Inv = invRecord.Invoice_Num, .Seq = invRecord.Inv_Seq}).FirstOrDefault()
invRecord.Pack_Num 是一个整数类型的字段。这意味着当我尝试访问它时,如果它是 DBNull,我会得到一个 StronglyTypedException。上面的代码抛出了这个异常。但是,如果我删除“invRecord.Pack_Num = PSNum”并在其位置放置“True”之类的内容,则代码可以正常工作。
所以我想我的问题是,为什么当值实际上是 DBNull 时 invRecord.IsPack_NumNull() 返回 False,而我可以使用什么作为条件呢?一段时间以来,我一直在碰壁,但找不到解决此问题的方法。
【问题讨论】:
标签: vb.net linq dbnull linq-to-dataset