我有大 DataTable 我想得到这个 DataTable 的子集,表示为 DataTable。
简要说明如何选择 DataTable 中的特定列。
我正在尝试这样的事情,但它不起作用......
DataTable dTable = new DataTable();
...
...
...
DataTable dt = from field in dTable
where field.Field<string>("Manager")
where field.Field<string>("Phone")
select field;
也许我的代码是错误的,如何在不循环的情况下将“经理”和“电话”列从一个数据表获取到另一个数据表?
最佳答案
引用 DataTableExtensions -
http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.asenumerable.aspx
然后...
var whatever = dTable.AsEnumerable();
然后根据 MSDN 示例...
var productNames = from products in table.AsEnumerable()
select products.Field<string>("ProductName");
编辑/更新:不幸的是,我认为没有内置的直接转换回具有不同架构的 DataTable。您有 使用数据表?我相信它......因为重构和测试你的代码可能需要太多的努力。祝你好运,让我们随时关注,因为使用强类型列表更有趣。
关于.net - LINQ 到数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10382343/