可为空的对象必须有一个值。网络

Gco*_*ode 1 vb.net

我需要帮助。我的程序有问题。这是我在业务逻辑层上的代码。

Function Load_ItemDetails(ByVal ItemID As String) As Items
    Dim objItemEnt As New tblitem
    Dim objitem As New Items
    Try
        Using da = New DataAccess
            objItemEnt = da.Load_ItemDetails(ItemID)
            With objitem
                .ItemCode = objItemEnt.ItemCode
                .ItemName = objItemEnt.ItemName
                .Description = objItemEnt.Description
                .NameofType = objItemEnt.NameofType
                .TypeofPricing = objItemEnt.TypeofPricing
                .OnStock = objItemEnt.OnStock
                .ItemPrice = objItemEnt.ItemPrice
                .DateModified = objItemEnt.DateModified
            End With
            Return objitem
        End Using
    Catch ex As Exception
        Throw
    End Try
End Function
Run Code Online (Sandbox Code Playgroud)

此代码用于我的数据访问层。

Public Function Load_ItemDetails(ByVal ItemCode As String)
    Dim objitem As New tblitem
    Try
        Using entItem = New DAL.systemdbEntities1
            Dim qryUsers = From p In entItem.tblitems
           Where p.ItemCode = ItemCode
           Select p

            Dim luser As List(Of tblitem) = qryUsers.ToList
            If luser.Count > 0 Then
                Return luser.First
            Else
                Return objitem
            End If
        End Using
    Catch ex As Exception
        Throw
    End Try
End Function`
Run Code Online (Sandbox Code Playgroud)

对于我的表示层:

Private Sub Load_Item_Detail(ByVal ItemCode As String)
    objItem = New Items
    Using objLogic = New LogicalLayer
        objItem = objLogic.Load_ItemDetails(ItemCode)
        With objItem
            Me.ItemCodetxt.Text = .ItemCode
            Me.ItemNametxt.Text = .ItemName
            Me.ItemDesctxt.Text = .Description
            Me.ItemTypetxt.Text = .NameofType
            Me.ItemPricetxt.Text = .TypeofPricing
            Me.ItemOnstocktxt.Text = CStr(.OnStock)
            Me.ItemPricetxt.Text = CStr(.ItemPrice)
            Me.TextBox1.Text = CStr(.DateModified)
            Me.ItemCodetxt.Tag = .ItemCode
        End With
    End Using
End Sub`
Run Code Online (Sandbox Code Playgroud)

在我跑步后,我得到这个错误Nullable object must have a value帮助。我被困住了。我不知道该怎么办伙计们。我是 n 层架构的新手。

One*_*Day 5

要访问可为空对象的值,请使用.Value对象的 。这个可为空的对象还有一个.HasValue布尔值,您可以在请求值之前进行检查。更多信息:可空类型

 If objItemEnt.OnStock.HasValue Then 
  .OnStock = objItemEnt.OnStock.Value
 End If
Run Code Online (Sandbox Code Playgroud)