一千萬個為什麽

搜索

實體框架 - 我如何在擴展類中使用實體關系?

我試圖擴展實體框架創建的部分類,以便我可以更輕松地使用下面的代碼中的對象(請讓我知道是否有更好或更好的方法來使用實體框架)

    Public Sub New(ByVal ProjectID As Integer)
        Dim proj As Project = (From p In db.Project.Include("Status") Where p.ProjectID = ProjectID).First
        _ProjectID = proj.ProjectID
        _ProjectName = proj.ProjectName
        Me.Status.StatusID = proj.Status.StatusID  'I get errors here
        Me.Status.StatusName = proj.Status.StatusName  'and here
    End Sub

但當然,我得到了“對象引用未設置為對象的實例”:Me.Status.StatusID = proj.Status.StatusID

擴展部分類時如何傳遞相關的實體值?或者我只是在這裏建立基地,還有一個更簡單的方法來做我想在這裏做的事情?

最佳答案

這看起來像你試圖加載基於來自construtor的id的對象

我個人不會使用構造函數來加載對象,您可以使用共享函數或直接在代碼中使用LINQ來加載對象。

使用類似的東西

Public Shared Function GetProjectById(ByVal ProjectId as Integer) as Project
     Dim db As New MyDataContext
     Return (From p In db.Project.Include("Status") Where p.ProjectID = ProjectID).FirstOrDefault
End Function

轉載註明原文: 實體框架 - 我如何在擴展類中使用實體關系?