none
Consulta con ENTITYFRAMEWORK RRS feed

  • Question

  • Hola, Quisiera saber si alguien podria echarme la mano o guiar de como poder hacer 1 consulta con EntityFramework. Les explico el caso:

    - Tengo que Consultar el Codigo(campo) de un Equipo y tiene que ser Distinct, pero ademas de eso tengo que saber a quien esta asignado este equipo, que pueden ser 5 casos, que son 5 llaves foraneas que estan en la tabla Equipos. Sin embargo estoy en un modulo donde el equipo es Recepcionado y El Equipo en esta Tabla de Recepcion es Foranea. tengo que mostrarlo en un ForEach en la vista.

    var equipos = db.Recepcion_Equipo_Detalles
                  .Include(r => r.Equipos)
                  .Include(r => r.Equipos.Empleado)
                  .Include(r => r.Equipos.Cliente)
                  .Include(r => r.Equipos.Vehiculo)
                  .Include(r => r.Equipos.Vehiculos_Contratista)
                  .Include(r => r.Equipos.Unidades)
                  .Where(r => r.Equipos.Id_estado == EstadoEquipo.ServiciosGenerales)
                  .Select(bb => new
                  {
                      bb.Equipos.Codigo,
                      bb.Equipos.Empleado.Nombre
                  }).Distinct().ToList();

     El problema esta en que en la Vista me manda un Objeto y no propiedades para ir accediendo a cada Tabla y evaluar. 

    Friday, January 17, 2020 2:31 PM

All replies

  • Hola  Noah Lara

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma,  te comparto a continuación el siguiente enlace

     

     https://docs.microsoft.com/es-es/ef/ef6/querying/

     

    Gracias por usar los foros de MSDN.

     

    Pablo Rubio

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    Friday, January 17, 2020 3:49 PM
    Moderator
  • hola

    >> El problema esta en que en la Vista me manda un Objeto y no propiedades para ir accediendo a cada Tabla y evaluar.

    que seria eso de "manda un object" ?

    Cual es el sentido de definir tantos Include() si despues en el Select defines dos campos de Equipos y aplicas el where tambien sobre este

    podria solo quedar

    var equipos = db.Recepcion_Equipo_Detalles
                  .Include(r => r.Equipos)
                  .Where(r => r.Equipos.Id_estado == EstadoEquipo.ServiciosGenerales)
                  .Select(bb => new
                  {
                      bb.Equipos.Codigo,
                      bb.Equipos.Empleado.Nombre
                  }).Distinct().ToList(); 

    es mas ni siquiera necesitarias el include, podria solo ser

    var equipos = db.Recepcion_Equipo_Detalles
                  .Where(r => r.Equipos.Id_estado == EstadoEquipo.ServiciosGenerales)
                  .Select(bb => new
                  {
                      bb.Equipos.Codigo,
                      bb.Equipos.Empleado.Nombre
                  }).Distinct().ToList(); 

    porque el include aplica cuando vas a necesitar navegar esa propiedad al devolver como respuesta el detalle

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Friday, January 17, 2020 3:52 PM