none
Query LINQ to Entity contra varias tablas RRS feed

Todas las respuestas

  • hola

    no has probado con el join de linq ?

     

    algo como esto

    var resultado = from amigociudad in (from amigo in listAmigos
                                       join ciudad in listCiudad
                                           on amigo.idCiudad equals ciudad.id
                                       select new {
                                                idAmigo = amigo.id,
                                                Apellido = amigo.Apellido,
                                                idCiudad = ciudad.id,
                                                idProvincia = ciudad.idProvincia,
                                                ciudaddesc = ciudad.nombre
                                        })
                       join provincia in listProvincia
                           on amigociudad.idProvincia equals provincia.id
                       select new {
                            idAmigo = amigociudad.id,
                            Apellido = amigociudad.Apellido,
                            ciudaddesc = amigociudad.nombre,
                            provinciadesc = provincia.nombre
                        }

     

    alli no esto usado exactamente EF, pro podrias reemplazar los listAmigos, listCiudad y listProvincia, por las listas devueltas por EF

    como veras es un join dentro de otro join, por ahi sea de utilidad o al menos de una idea por donde buscar la solucion

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 16 de abril de 2011 2:11
  • Hola Jesús,

    Pienso que puede ser bastante sencillo usando Include:

    var res = dc.Amigos.Include("Ciudad").Include("Ciudad.Provincia");

    Así EF genera una única consulta donde se trae los datos de las tres tablas y tienes los datos en su propiedad respectiva. Internamente se generan los INNER JOIN necesarios, de forma transparente.

     

    Pablo Núñez, @pablonete

    • Propuesto como respuesta jtorrecilla miércoles, 20 de abril de 2011 9:18
    martes, 19 de abril de 2011 0:35