none
Consulta LINQ para crear una lista de objetos donde cada objeto contiene una lista RRS feed

  • Pregunta

  • Tengo una clase DTO con un list como propiedad

    public class RevistasConsultaDTO
    {
        public int IdRevistas { get; set; }
        public string TipoRevistas { get; set; }
        public string NombreRevistas { get; set; }
    
        //..... demas campos...
        public List<InvestigadorDto> Investigador{ get; set; }
        public List<AreaConocimientoViewModel>  LstAreaConocimiento { get; set; }
    }


    la tabla revista esta relacionada con GrupoInvestigacionInvestigadorRevista (muchos a muchos) y este a su vez con (muchos a muchos) grupoInvestigacionInvestigador y este esta relacionada con GrupoInvestigador con Investigador; Tambien esta la tabla InstitucionInvestigador con relacion Investigador. (NO Coloque Area conocimiento, ya que si resuelvo investigador resuelvo esta ultima)

    La consulta la realice de este modo.

    var RevistaFiltradoById = (from p in Db.RevistasIntelectual
                                        join gp in Db.GrupoInvestigacionInvesRevistas on p.Id equals gp.IdRevistas
                                        join gii in Db.GrupoInvestigacionInvestigadorModel on gp.IdGrupoInvestigacionInvestigador equals gii.Id
                                        join i in Db.InvestigadorModel on gii.IdInvestigador equals i.IdInvestigador
                                        join inv in Db.InstitucionInvestigadorModel on i.IdInvestigador equals inv.IdInvestigador
                                        join ins in Db.InstitucionesModel on inv.IdInstitucion equals ins.IdInstitucion
                                        join gi in Db.GrupoInvestigacionModel on gii.IdGrupoInvestigacion equals gi.IdGrupoInvestigacion
                                        where p.Id == id
                                        select new RevistasConsultaDTO
                                        {   
                                          IdRevistas = p.IdRevistas,
                                          TipoRevistas = p.TipoRevistas,
                                          NombreRevistas = p.NombreRevistas
                                        .....los demas campos
                                        //*** EN ESTA INSTRUCCION NO SE COMO DEBO COLOCARLA
                                           InvestigadoresDTO ={ new d 
                                          NombreInvestigadores = d.Investigador,
                                            Institucion = d.Institucion,
                                            GruposInvestigacion = d.GrupoInvestigacion
                                        }).SingleOrDefault();

    el dto Investigadores lo tengo asi;

    public class InvestigadoresDTO
    {
        public int IdInvestigador  { get; set; }
        public string NombreInvestigadores { get; set; }
        public string Institucion { get; set; }
        public string GruposInvestigacion { get; set; }
    }


    y como podran ver la relacion  se llama de 2 tablas relacionadas muchos a muchos y es donde tengo la inquietud de poblar el list<Investigadores>

    miércoles, 17 de marzo de 2021 16:13

Todas las respuestas

  • Hola Greg,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    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.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    miércoles, 17 de marzo de 2021 19:34
    Moderador