none
Como crear una Expression para una consulta EF que retorne varios campos de diferente tipo RRS feed

  • Pregunta

  • Hola

    Tengo la siguiente consulta de LINQ to Enitities

    Dim ExpSelection1 As Expression(Of System.Func(Of FACT_CLIENTESString)) = Function(fc) fc.NOMBRE
    Dim ExpSelection2 As Expression(Of System.Func(Of FACT_CLIENTESList(Of String))) = Function(fc) New List(Of String)() From {fc.NOMBRE, fc.DIRECCION}

            Dim ExpSelection3 As Expression(Of System.Func(Of FACT_CLIENTESObject())) = Function(fc) New Object() {fc.NOMBRE, fc.POBLACION, fc.PORTES_PED_MINIMO}

            Dim VAR2 = Contexto.FACT_CLIENTES.Select(ExpSelection1)

    Si uso ExpSelection1 funciona bien pero tengo la necesidad de obtener no solo un campo sino varios para lo que construí la ExpSelection2 que también funciona bien, sin embargo la necesidad va más allá de necesitar varios campos sino que además deben ser de distintos tipos para lo que cree la última ExpSelection3; esta última expresión produce un error

    ¿Alguien sabe como construir la expresion para obtener varios campos de distinto tuipo de la tabla?

    PD Antes en lugar de expresiones usaba System.Fun() y fuincionaba pero tenía el inconveniente de que si cogías un profiler la setencia que lanzaba sobre la BBDD era un select con TODAS las columnas de la tabla, aqui dejo la antigua Func por si sirviera de algo:

    Dim Selector As System.Func(Of FACT_CLIENTESObject()) = Function(fc) New Object() {fc.NOMBRE, fc.POBLACION, fc.PORTES_PED_MINIMO}

     


    Julio Trujillo Leon. Microsoft Certified Professional Developer. .NET Developer and TFS admin. . Please, if my contribution is useful for you press on "useful button" Por favor, si les ha sido útil pulsen en "el mensaje ha sido útil" https://www.mcpvirtualbusinesscard.com/VBCServer/JulioTrujilloLeon/interactivecard
    viernes, 17 de diciembre de 2010 10:32