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

扩展部分类时如何传递相关的实体值?或者我只是在这里离基地很远,并且有一种更简单的方法来做我想做的事情?

4

1 回答 1

2

似乎您试图根据构造函数的 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
于 2008-12-21T05:42:19.973 回答