![](/img/trans.png)
[英]Copy row from dataTable to datarow and then to another dataTablein vb.net
[英]vb.net - get unique entries from datatable using LINQ and copy result into another datatable
对不起,我知道已经被问了一千遍了,但是我不知道该怎么做,因此我非常感谢任何提示。
我有一个巨大的数据表,其中包含相当多的列并超过200000行,现在我想从该数据表中获取所有在某一列中具有不同值的行,并继续将其用作数据表。
首先,我想使用LINQ获得所有唯一条目:
Dim query = From row In d1.AsEnumerable() Select row.Field(Of String)("Key") Distinct
然后我要将它们复制到另一个数据表中:
Dim dt As DataTable = query.CopyToDataTable
但是query.CopyToDataTable
不起作用
'CopyToDataTable'不是'EnumerableRowCollection(IEnumerable(Of Char))'的成员
您只能将CopyToDataTable
与DataRows
一起使用, DataRows
不能与字符串一起使用。
您要如何处理那些不包含Key
列值不合理的行? 您要忽略所有行还是仅重复项(保留第一行)?
您可以使用EmumerableGroupBy
。 如果要保留第一个:
Dim keyGroups = d1.AsEnumerable().GroupBy(Function(row) row.Field(Of String)("Key"))
Dim dt As DataTable = keyGroups.Select(Function(g) g.First()).CopyToDataTable()
如果只需要唯一的那些:
Dim dt = keyGroups.Where(Function(g) g.Count() = 1).Select(Function(g) g.First()).CopyToDataTable()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.