none
Realizar Consulta Linq con Entity Framework RRS feed

  • Pregunta

  • Hola desarrolladores, tengo una consulta acerca de entity framework.

    Tengo la siguiente querrá que funciona al 100%

    SELECT b.SERIAL, b.DESCRIPCION, a.OBSERVACION
    FROM dbo.EQUIPODETALLE a, dbo.EQUIPO b
    WHERE a.ID IN (SELECT MAX(ID)
    			FROM dbo.EQUIPODETALLE
    			WHERE IDESTADO = 1
    			GROUP BY IDEQUIPO)
    AND IDMOVIMIENTO = (SELECT ID
    					FROM dbo.MOVIMIENTO
    					WHERE CODIGO = 'I')
    AND b.ID = a.IDEQUIPO
    Ahora el lio es que el proyecto en el que la quiero implementar esta con Entity Framework Code First así que no la he podido implementar ya que eso usa linq, hay alguna manera de convertir esa query en linq?? puedo usar la conexión de entityFramework para ejecutar esa querrá como si fuera ado.net?? Agradezco me guíen.


    • Editado CrissR lunes, 13 de noviembre de 2017 16:50
    sábado, 11 de noviembre de 2017 20:21

Respuestas

  • En Entity Framework Core puedes utilizar el método de extensión FromSql.

    Raw SQL Queries

    Respecto a mi consulta, me refiero a la columna 'IDMOVIMIENTO', ¿a qué tabla corresponde?

    • Marcado como respuesta CrissR viernes, 17 de noviembre de 2017 3:36
    lunes, 13 de noviembre de 2017 17:52

Todas las respuestas

  • Una pregunta, ¿la columna [IDMOVIMIENTO] a que tabla pertenece?, si pertenece a la tabla [EQUIPODETALLE], ¿no debería ser parte de las condiciones de la primera subconsulta?, es decir, recuperar el máximo valor de la columna 'ID' por cada grupo formado por la columna 'IDEQUIPO' siempre y cuando el código de movimiento asociado sea 'I', te agradeceré si puedes aclararme la duda.

    Si deseas ejecutar la consulta sql tal y como lo tienes escrito y cuentas con una versión reciente de Entity Framework (creo igual o posterior a la versión 6.0) puedes utilizar el método DataBase, revisa el siguiente enlace con ejemplos:

    Execute Native SQL Query

    • Propuesto como respuesta Jorge TurradoMVP sábado, 11 de noviembre de 2017 22:00
    sábado, 11 de noviembre de 2017 21:58
  • Hola Willams, efectivamente lo incluyo en el Group by, así tengo el máximo id de cada grupo, eso esta mal? es una mala practica?

    Probare la consulta de la forma que indicas, pues no se si entinto framework core lo tenga implementado. Muchas Gracias.

    lunes, 13 de noviembre de 2017 16:22
  • En Entity Framework Core puedes utilizar el método de extensión FromSql.

    Raw SQL Queries

    Respecto a mi consulta, me refiero a la columna 'IDMOVIMIENTO', ¿a qué tabla corresponde?

    • Marcado como respuesta CrissR viernes, 17 de noviembre de 2017 3:36
    lunes, 13 de noviembre de 2017 17:52