none
Retornar query desde un metodo para luego ser usado en un for each en otro metodo RRS feed

  • Pregunta

  • Buenas noches!

    Leí que al ser un tipo anónimo lo único que se puede devolver es un object. El problema es que quiero retornar el query para hacer un for each o algún manejo de datos en otro método y no logro realizarlo con object.

    Query + Metodo

    public object MiMethod(){

                        var join = (from c in db.Cars
                                join cp in db.CarsPersons on e.IdCar equals p.IdPerson
                                join p in db.Persons on cp.IdPerson equals p.IdPerson
                                select new { Car = c, CarsPersons = cp, Person = p }).ToList();

     return join

    }

    Gracias de antemano!

    martes, 21 de noviembre de 2017 3:23

Todas las respuestas

  • La mejor solución es declarar una clase que contenga tres propiedades llamadas Car, CarsPerson y Person, y devolver desde el select instancias de esa clase, en lugar de devolver un tipo anónimo. De esa manera puedes declarar el tipo devuelto como IQueryable<laClase>, y se puede devoler sin problemas a otro método.

    La alternativa es devolver un tipo dynamic o usar reflexión sobre el object. Ninguna de estas opciones es igual de robusta que la de sustituir el tipo anónimo por un tipo con nombre.

    martes, 21 de noviembre de 2017 16:42