Pregunta

Estoy tratando de extender las clases parciales que el marco de la entidad crea para que pueda trabajar más fácilmente con objetos como en el código de abajo (por favor, hágamelo saber si hay una manera mejor o más acceptable de hacer esto con el marco de la entidad )

    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

Pero, por supuesto, tengo la "Referencia a objeto no establecida como instancia de un objeto" en la línea: Me.Status.StatusID = proj.Status.StatusID

¿Cómo puedo pasar a través de los valores de entidades relacionadas al extender las clases parciales? O solo estoy fuera de lugar aquí y hay una manera mucho más fácil de hacer lo que estoy tratando de hacer aquí?

¿Fue útil?

Solución

Parece que su tratando de cargar el objeto basado en la identificación de la Construtor

Yo personalmente no utilizar el constructor para cargar el objeto, puede utilizar una función compartida o utilizar LINQ directamente en el código para cargar el objeto.

usar algo como

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top