我正在尝试对DataTable的Columns属性执行一个简单的LINQ查询:
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
然而,我得到的是:
找不到 'System.Linq.IQueryable' 类型的查询模式实现。 找不到“Select”。 考虑显式指定范围变量“c”的类型。
我该如何让 DataColumnCollection 与 LINQ 兼容?
我正在尝试对DataTable的Columns属性执行一个简单的LINQ查询:
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
然而,我得到的是:
找不到 'System.Linq.IQueryable' 类型的查询模式实现。 找不到“Select”。 考虑显式指定范围变量“c”的类型。
我该如何让 DataColumnCollection 与 LINQ 兼容?
如何考虑:
var x = from c in dt.Columns.Cast<DataColumn>()
select c.ColumnName;
LINQ方法语法:
var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);
你也可以使用:
var x = from DataColumn c in myDataTable.Columns
select c.ColumnName
根据Enumerable.Cast<TResult> Method
MSDN文章所述,在查询表达式中,显式类型化的迭代变量将有效地转换为Cast(IEnumerable)的调用。