Pregunta

Cuando tengo tablas en mi base de datos que tienen relaciones PK / FK (INT) y cuando se modelan por el diseñador de Entity Framework todo parece como debe ser. Puedo escribir el código abajo y todo lo que parece que va a funcionar bien también, pero luego, cuando ejecuto el código que aparece un error en la project.Status.StatusName diciendo que la referencia a objeto no establecida como instancia de un objeto. Creo que estaba bajo la impresión de que el marco poblada las entidades asociadas al rellenar la entidad matriz.

    Dim db As New MyDbModel.MyDbEntities()

    Dim project As MyDbModel.Project = (From p In db.Project Where p.ProjectID = 1).First

    Response.Write(project.ProjectName)        
    Response.Write(project.Status.StatusName)
¿Fue útil?

Solución

Trate de usar Incluir (RelationshipName)

Dim db As New MyDbModel.MyDbEntities()    
Dim project As MyDbModel.Project = (From p In db.Project.Include("Status") Where p.ProjectID = 1).First    
Response.Write(project.ProjectName)            
Response.Write(project.Status.StatusName)

Otros consejos

Entity Framework no se carga entidades relacionadas a menos que se lo indique. Con el fin de tener acceso a entidades relacionadas que necesita para cualquiera Load () de forma explícita o uso include (). He aquí una pequeña muestra.

http://blogs.msdn.com/bethmassi/archive/2008/12/10/master-details-with-entity-framework-explicit-load.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top