Entity Framework - ¿cómo se utiliza las asociaciones de entidades?
-
23-08-2019 - |
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)
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.