none
Tutorial rapido entity framework, da error. RRS feed

  • Pregunta

  • Hola!, copie el tutorial de E.F. de la pagina de Microsoft y no puedo hacerlo funcionar, estoy usando visual studio 2015 con EF 6

    este es el tutorial

    https://msdn.microsoft.com/es-es/library/bb386884(v=vs.100).aspx

    da error en esta linea

    Dim departmentQuery As ObjectQuery(Of Department) = _ From d In schoolContext.Departments.Include("Courses") _ OrderBy d.Name _ Select d

    No se encontro InvalidCastException

    Excepción no controlada del tipo 'System.InvalidCastException' en coursemanager.exe

    Información adicional: No se puede convertir un objeto de tipo 'System.Data.Entity.Infrastructure.DbQuery`1[coursemanager.Department]' al tipo 'System.Data.Entity.Core.Objects.ObjectQuery`1[coursemanager.Department]'.

    • Cambiado Enrique M. Montejo jueves, 8 de diciembre de 2016 10:48 Pregunta relacionada con Entity Framework.
    jueves, 8 de diciembre de 2016 3:29

Respuestas

  • Gustavo Rul,

    Nota que la consulta Linq incluye dentro del conjunto de resultados a la entidad 'Courses', debes permitir que el tipo se infiera respecto a la expresión del lado derecho (tipado implícito), de hecho es así como lo sugiere la documentación que adjuntas:

    Dim departmentQuery = From d In schoolContext.Departments.Include("Courses") 
            OrderBy d.Name Select d



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Gustavo Rul jueves, 8 de diciembre de 2016 11:40
    jueves, 8 de diciembre de 2016 3:56

Todas las respuestas

  • Gustavo Rul,

    Nota que la consulta Linq incluye dentro del conjunto de resultados a la entidad 'Courses', debes permitir que el tipo se infiera respecto a la expresión del lado derecho (tipado implícito), de hecho es así como lo sugiere la documentación que adjuntas:

    Dim departmentQuery = From d In schoolContext.Departments.Include("Courses") 
            OrderBy d.Name Select d



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Gustavo Rul jueves, 8 de diciembre de 2016 11:40
    jueves, 8 de diciembre de 2016 3:56

  • Funciono! pero dio error en otra linea posterior

    Me.departmentList.DataSource = CType(departmentQuery, ObjectQuery).Execute(MergeOption.AppendOnly)


    Excepción no controlada del tipo 'System.InvalidCastException' en coursemanager.exe

    Información adicional: No se puede convertir un objeto de tipo 'System.Data.Entity.Infrastructure.DbQuery`1[coursemanager.Department]' al tipo 'System.Data.Entity.Core.Objects.ObjectQuery'.

    Finalmente la cambie de esta forma:

    Me.departmentList.DataSource = departmentQuery.ToList()

    Y anduvo aunque da el error "Referencia a objeto no establecida como instancia de un objeto", pero se ejecuta bien aparentemente.

    Ese ejemplo no es para la version de EF 6 que estoy usando porque dice que es para VS 2010, pero por otro lado no veo que haya un ejemplo de microsoft mas nuevo.


    jueves, 8 de diciembre de 2016 11:39