相关疑难解决方法(0)

使用Linq从数据表中获取不同的行(与mulitiple列不同)

我试图区分多个列并从datatable获取数据行.但得到错误.

 Dim query As IEnumerable(Of DataRow) = 
            (From row As DataRow In SourceTable.AsEnumerable() _
             Select row.Field(Of String)("ColumnName1"),
                    row.Field(Of String)("ColumnName2") ).Distinct()
Run Code Online (Sandbox Code Playgroud)

低于错误:

Unable to cast object of type '<DistinctIterator>d__7a`1[System.String]' 
to type 'System.Collections.Generic.IEnumerable`1[System.Data.DataRow]'.
Run Code Online (Sandbox Code Playgroud)

我想要另一个基于SourceTable给定列的不同行的数据表.

c# linq vb.net linq-to-objects

5
推荐指数
1
解决办法
2万
查看次数

LINQ在DataTable上选择distinct不起作用

我有以下数据 - 让我们说MyTable:

Col1:    Col2:    Col3:    Col4:
1        abc      def      <null>
2        abc      def      ghi
1        abc      def      <null>
3        abc      def      <null>
1        abc      def      <null>
Run Code Online (Sandbox Code Playgroud)

而我正试图获得不同的行:

Col1:    Col2:    Col3:    Col4:
1        abc      def      <null>
2        abc      def      ghi
3        abc      def      <null>
Run Code Online (Sandbox Code Playgroud)

我尝试了以下LINQ语句:

MyTable = (From dr As DataRow In MyTable Select dr).Distinct.CopyToDataTable
Run Code Online (Sandbox Code Playgroud)

但它将原始数据表返回给我重复的行.

我做错了什么以及如何获得我想要的输出?

c# linq vb.net datatable

3
推荐指数
1
解决办法
4639
查看次数

标签 统计

c# ×2

linq ×2

vb.net ×2

datatable ×1

linq-to-objects ×1