Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2016, 13:49
Avatar de Namiwis
Namiwis
 
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 11 años, 6 meses
Puntos: 10
where en LinQ

Que tal amigos

Estoy usando una libreria llamada LinqToExcel, para leer los datos de un libro, y funciona bien, ahora lo que intento es meterle una clausula where, para obtener datos mas limpios.

Tengo esto.

Código:
var resultado = (from row in book.Worksheet(NombreSheet)                           
                             let item = new Clases.Comprobante.Comprobante
{
     //Asignaciones por aqui y por alla
}
select item).ToList();
Lo dicho, esto funciona bien, y me trae todos los datos que estan en la hoja de excel y arma un objeto Comprobante. La idea es meterle una clausula where para que los datos que me arroje ya esten limpios, y no limpiarlos despues.

Dentro de esa hoja, tengo varias columnas, una de ellas se llama ACTIVO, con un valor 1 o 0, dependiendo el caso, lo que quiero intento hacer es esto.

Código:
var resultado = (from row in book.Worksheet(NombreSheet)
                             where row["ACTIVO"].Cast<string>() == 1                     
                             let item = new Clases.Comprobante.Comprobante
{
     //Asignaciones por aqui y por alla
}
select item).ToList();
Que unicamente me cree el objeto si la columna ACTIVO de la respuesta linea, contiene un 1.

Si lo intento asi, me da esta excepcion "No coinciden los tipos de datos en la expresión de criterios." aparte de un error en el debug y algo del COM....

Espero me haya explicado.

Esperando me puedan echar una idea o clave.

Saludos
__________________
http://binarysuns.com.mx/