none
Linq - Generar consulta que devuelva un array con los campos de una linea RRS feed

  • Pregunta

  • Hola,

    Tengo la siguiente consulta:

    Necesito realizar una consulta con Linq en la cual necesito que mi metodo me devuelva un array de string con los campos de la linea obtenida, yo hago lo siguiente pero no logro devolver el array para despues comparar esos campos:

    Llamada al metodo:

    string[] cararepe = CaratulaRepetida(volumen, lote, sublote, barcodescf);

    --------------------------------------------------------

    Metodo:

    public string[] CaratulaRepetida(string volumen, string lote, string sublote, string crtid)
            {
                Clases.clsCntsDBs CntCls = new Clases.clsCntsDBs();
                ControlaCaratula CAR = new ControlaCaratula(CntCls.GetCntBaseCC());
                var query = (from c in CAR.trazaCaratulas
                                  where c.crt == crtid
                                  select new {c.volumen,c.lote,c.sublote }).ToArray();
                return query;
            }

    Gracias!

    miércoles, 6 de junio de 2012 18:22

Respuestas

  • Ahi en caraepe no obtengo el array.

    si es es un array solo que es un array de la clase que defines

    es lo mismo que string[] usarias

    cararepe[0].volumen

    para acceder a cada propiedad


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Gonzalo_360 jueves, 7 de junio de 2012 12:44
    miércoles, 6 de junio de 2012 21:06

Todas las respuestas

  • el tema es que no estas creando un array de string cuando defines

    select new {c.volumen,c.lote,c.sublote })

    porque alli defines 3 propiedades

    deberias crear una clase de nombre

    public class Datos{
    
        public string volumen {get; set;}
    
        public string lote {get; set;}
    
        public string sublote{get; set;}
    
    }


    entonces haces

    var query = (from c in CAR.trazaCaratulas
                                  where c.crt == crtid
                                  select new Datos {
                                       volumne = c.volumen,
                                       lote = c.lote,
                                       sublote = c.sublote }).ToArray();

    y defines

    public Datos[] CaratulaRepetida(string volumen, string lote, string sublote, string crtid)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 6 de junio de 2012 18:31
  • Leandro!

    Muchas Gracias!

    Una consulta, en la consulta en query tengo el array, eso esta perfecto, ahora cuando lo recibo en la llamada no me lo trae:

     Datos[] cararepe = CaratulaRepetida(barcodescf);

    Ahi en caraepe no obtengo el array.

    miércoles, 6 de junio de 2012 19:38
  • Ahi en caraepe no obtengo el array.

    si es es un array solo que es un array de la clase que defines

    es lo mismo que string[] usarias

    cararepe[0].volumen

    para acceder a cada propiedad


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Gonzalo_360 jueves, 7 de junio de 2012 12:44
    miércoles, 6 de junio de 2012 21:06
  • Gracias Leandro!!

    Como siempre preciso con las respuesta!!

    Saludos!!

    jueves, 7 de junio de 2012 12:45