C# – Querying DataColumnCollection with LINQ

asqueryablecdatacolumncollectiondatatablelinq

I'm trying to perform a simple LINQ query on the Columns property of a DataTable:

from c in myDataTable.Columns.AsQueryable()
    select c.ColumnName

However, what I get is this:

Could not find an implementation of the query pattern for source type 'System.Linq.IQueryable'. 'Select' not found. Consider explicitly specifying the type of the range variable 'c'.

How can I get the DataColumnCollection to play nice with LINQ?

Best Answer

How about:

var x = from c in dt.Columns.Cast<DataColumn>()
        select c.ColumnName;