好的,只需要第二组眼睛看这个以确保错误不是我的LINQ代码以外的其他内容。这是函数类本身:
Public Function GetJacketByPolicyID(ByVal jacketID As Int32) As tblPolicy
Dim db As New DEVDataContext()
Dim j As tblPolicy = db.tblPolicies.Single(Function(p) p.policyNumber = jacketID)
Return j
End Function
以下是在Web控件表单中调用此类函数的代码:
Dim p As tblPolicy
Dim j As New Jackets()
p = j.GetJacketByPolicyID(3000050)
由于某种原因,它标记了GetJacketByPolicyID函数中的第二行,表示指定的强制转换无效。所以我猜这是我做错了。我确定tblPolicy / tblPolicies类正常工作,因为我可以创建一个tblPolicy的新实例并手动设置一些变量并返回它,所以不是这样。我还检查了我正在获取的数据行,并且记录中没有空值,因此也不应该是它。
任何帮助都非常感激。
答案 0 :(得分:0)
这似乎可以得到你想要的东西。不知道为什么要为这样的简单查询传递函数。
Public Function GetJacketByPolicyID(ByVal jacketID As Int32) As tblPolicy
Dim _jacket as tblPolicy
Using _db As New DEVDataContext()
_jacket = (From _j In db.tblPolicies Where _j.policyNumber.Equals(jacketID) Select _j).Single()
End Using
Return _jacket
End Function