我试图将动态LINQ查询的结果导入DataTable . 试图将查询直接放入DataTable会给我这个错误:
无法将类型为'System.Linq.EnumerableQuery`1 [DynamicClass1]'的对象强制转换为'System.Data.DataTable' .
我的代码是:
Dim query = tbl.AsEnumerable.AsQueryable.Select("new(it[""curr""] as Curry)")
Dim tbl As DataTable = query
我试过了:
Dim query As IEnumerable(Of DataRow) = tbl.AsEnumerable.AsQueryable.Select("new(it[""curr""] as Curry)").Cast(Of DataRow)()
Dim tbl1 As DataTable = query.CopyToDataTable
但这给了我:
无法将类型为“DynamicClass1”的对象强制转换为“System.Data.DataRow” .
1 回答
找到此解决方法:http://support.microsoft.com/kb/326145 . 显然不是像LINQ那样干净的解决方案,但足以满足我的需求 .