Estoy intentando realizar una consulta LINQ simple en la propiedad Columns de un DataTable:Consulta DataColumnCollection con LINQ
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
Sin embargo, lo que me pasa es lo siguiente:
No se pudo encontrar una implementación del patrón de consulta para el tipo de fuente 'System.Linq.IQueryable'. 'Seleccionar' no encontrado. Considere especificar explícitamente el tipo de la variable de rango 'c'.
¿Cómo puedo obtener el DataColumnCollection para jugar bien con LINQ?
@Dave: ¿Qué causa este problema en primer lugar? ¿Cómo es que tenemos que hacer el Cast()? –
Es porque dt.Columns es un IEnumerable, pero no un IEnumerable. Es solo una función del hecho de que la clase es un poco más antigua y no implementa el nuevo tipo genérico. Cuando envía <>(), lo transfiere a un IEnumerable donde se definen los métodos de extensión. –