我正在尝试在DataTable的Columns属性上执行简单的LINQ查询:
from c in myDataTable.Columns.AsQueryable() select c.ColumnName
但是,我得到的是:
无法找到源类型"System.Linq.IQueryable"的查询模式的实现.找不到"选择".考虑明确指定范围变量'c'的类型.
如何让DataColumnCollection与LINQ一起玩得很好?
怎么样:
var x = from c in dt.Columns.Cast() select c.ColumnName;
你也可以使用:
var x = from DataColumn c in myDataTable.Columns select c.ColumnName
它将有效地与Dave的代码相同:"在查询表达式中,显式类型的迭代变量转换为Cast(IEnumerable)的调用",根据Enumerable.Cast
MSDN文章.
使用Linq方法语法:
var x = myDataTable.Columns.Cast().Select(c => c.ColumnName);