Motivado al trabajo me vi "obligado" a apreder esta nueva herramienta que ofrece .Net para gestionar los datos de nuestra aplicación, EF (Entity Framework) funciona como un ORP, mapeando la base de datos en Objetos, permitiéndonos gestionarlos sin hacer uso de sentencias sql.
A pesar del material que se encuentra en internet, me encontré con ciertas dificultades que espero aclarar ahora y le sirva a otros de referencias.
El siguiente tutorial enlace es muy bueno pues te ofrece todas las herramientas, incluyendo la base de datos, aunque por lo que vi en los comentarios muchos encontraron ciertos conflictos y entre ellos me incluyo, nadie les dio respuesta.
Para empezar, cuando se llega al punto de Consultar entidades y asociaciones del tutorial y se quiere correr el proyecto, empiezan a surgir las excepciones y errores en nuestro programa, la mas comun es la siguiente:
No se puede convertir un objeto de tipo 'System.Data.Entity.Infrastructure.DbQuery`1[PruebaEntity.Department]' al tipo 'System.Data.Objects.ObjectQuery`1[PruebaEntity.Department]'.
Esto es en el fragmento de código:
Dim departmentQuery As ObjectQuery(Of Department) = _
From d In schoolContext.Departments.Include( "Courses" ) _
Order By d.Name _
Select d
¿Cuál es la solución?
A mi me funcionó a la perfección hacer lo siguiente:
Sustituí el código anterior por
Dim query = _
From d In schoolContext.Departments.Include( "Courses" ) _
Order By d.Name _
Select d
Luego, se sustituye el siguiente código:
Me.departmentList.DataSource = CType(departmentQuery, ObjectQuery).Execute(MergeOption.AppendOnly)
Por:
Me.departmentList.DataSource = query.ToList
¿Qué se hizo?
Desconozco si es por motivo de actulizaciones del EF, pero ciertas funciones no están disponibles, lo que hice fue depurar los objetos, y hacer referencia a experiencias con otros Frameworks.
A pesar del material que se encuentra en internet, me encontré con ciertas dificultades que espero aclarar ahora y le sirva a otros de referencias.
El siguiente tutorial enlace es muy bueno pues te ofrece todas las herramientas, incluyendo la base de datos, aunque por lo que vi en los comentarios muchos encontraron ciertos conflictos y entre ellos me incluyo, nadie les dio respuesta.
Para empezar, cuando se llega al punto de Consultar entidades y asociaciones del tutorial y se quiere correr el proyecto, empiezan a surgir las excepciones y errores en nuestro programa, la mas comun es la siguiente:
No se puede convertir un objeto de tipo 'System.Data.Entity.Infrastructure.DbQuery`1[PruebaEntity.Department]' al tipo 'System.Data.Objects.ObjectQuery`1[PruebaEntity.Department]'.
Esto es en el fragmento de código:
Dim departmentQuery As ObjectQuery(Of Department) = _
From d In schoolContext.Departments.Include( "Courses" ) _
Order By d.Name _
Select d
¿Cuál es la solución?
A mi me funcionó a la perfección hacer lo siguiente:
Sustituí el código anterior por
Dim query = _
From d In schoolContext.Departments.Include( "Courses" ) _
Order By d.Name _
Select d
Luego, se sustituye el siguiente código:
Me.departmentList.DataSource = CType(departmentQuery, ObjectQuery).Execute(MergeOption.AppendOnly)
Por:
Me.departmentList.DataSource = query.ToList
¿Qué se hizo?
Desconozco si es por motivo de actulizaciones del EF, pero ciertas funciones no están disponibles, lo que hice fue depurar los objetos, y hacer referencia a experiencias con otros Frameworks.