Consulta LINQ en un DataTable con C#
Al guardar una consulta de base de datos en un DataTable, es posible realizar una consulta LINQ en un DataTable con C# para obtener datos de acuerdo con un filtro.
Mediante LINQ podemos realizar una consulta como en una base de datos, el resultado se puede guardar en un IEnumerable.
Para las pruebas tomare de ejemplo la estructura del DataTable creado manualmente y posteriormente llenado.
Consulta LINQ
Para evitar errores en el código, es necesario agregar el espacio de nombre generic:
using System.Collections.Generic;
En el siguiente código vemos como se realiza una consulta LINQ a una DataTable:
IEnumerable<DataRow> ieRegistro = from fila in tablaUno.AsEnumerable()
where fila.Field<int>("Numero") == 1
select fila;
- Declaramos un IEnumerable de tipo DataRow con nombre ieRegistro.
- Obtenemos filas del DataTabla tablaUno.
- Filtramos solo las filas que en la columna Numero sea igual a 1.
Con la consulta anterior obtenemos el resultado siguiente:
Si la consulta no devuelve resultado en el campo de Result view, no se visualizará ninguna lista.
Para recorrer el IEnumerable y utilizar la información almacenada podemos utilizar un foreach.