1

我想擴展實體框架創建的部分類,以便我可以更輕鬆地使用下面的代碼中的對象(請讓我知道是否有更好或更易於使用實體框架執行此操作的方法)實體框架 - 如何在擴展類中使用實體關係?

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

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

回答

2

好像你試圖基於來自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 
+0

謝謝!現在,如果我只能弄清楚如何插入更新和刪除,我將被設置!哈哈 – EdenMachine 2008-12-21 06:47:02