Basado en la experiencia personal, trato de evitar el Datatable.Select. Me parece que es lento y tiene algunos errores extraños.
Un error (confirmado y documentado por Microsoft) con el que me encontré fue que DataTable.Select no siempre evalúa AND correctamente cuando hay paréntesis en la instrucción.
Por ejemplo, (Col1> 1) y (Col < 10) se puede dejar de devolver respuestas correctas, mientras que Col1> 1 y Col < 10 funcionará correctamente.
Este error no aparece en todas las computadoras. En mi caso, el cheque que estaba usando funcionaba bien en mi plataforma de desarrollo y en cada computadora cliente excepto una. Después de descubrir este error, comencé a usar LINQ para seleccionar y noté un aumento significativo en la velocidad de las operaciones.
Nota al margen: sin entrar en explicaciones largas, mi empresa no usa una base de datos para almacenar datos. Todas las de nuestras operaciones con DataTables involucran a las tablas de memoria cargadas desde archivos planos.Así que no estoy hablando de LINQ 2 SQL, sino de LINQ to Dataset.
Gracias por la respuesta. Debería haber dejado en claro que no tengo interacción con la base de datos. Actualizaré la pregunta. –
Ahh es suficiente. He actualizado mi respuesta sobre esa base. –