【问题标题】:nullable object must have a value error in linq to sql in vb.net code可空对象必须在 linq to sql 在 vb.net 代码中有一个值错误
【发布时间】:2017-06-09 00:39:57
【问题描述】:

当我调试下面的代码时,错误可为空的对象必须在objLstRole = objLstRole.Where(Function(x) x.HQA = UserInfo.HQA).ToList() 行返回一个值

Dim objLstRole As New List(Of Common.Role)()
                    objLstRole = r.selectAll().ToList()
                    Dim UI As Common.Objects.User = Session("userinfo")
                    If Not UI.TrainingCenter Then
                        objLstRole = r.selectAll().ToList()
                        TxtPassword.TextMode = TextBoxMode.SingleLine
                    Else
                        objLstRole = objLstRole.Where(Function(x) x.TrainingCenter = True).ToList()
                        TxtPassword.TextMode = TextBoxMode.Password
                    End If

                    If UserInfo.User_Id <> "Admin" Then
                        If UserInfo.HQA Then
                            objLstRole = objLstRole.Where(Function(x) x.HQA = UserInfo.HQA).ToList()
                        ElseIf UserInfo.Field Then
                            objLstRole = objLstRole.Where(Function(x) x.Field = UserInfo.Field).ToList()
                        End If
                    End If

请告诉我如何解决这个问题...

【问题讨论】:

标签: sql asp.net vb.net linq


【解决方案1】:

我终于找到了原因.. 发生这种情况的原因是角色表中的 HQA 列为空,所以我应该在说出列表集合中的位置之前检查它:

objLstRole = objLstRole.Where(Function(x) x.HQA IsNot Nothing And x.HQA = UserInfo.HQA).ToList()  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多