LINQ查询使用Winforms

时间:2017-11-15 02:26:36

标签: linq datatable count distinct

我有一个包含数据的数据表,以及我正在处理的一些查询。

我正在使用.CopyToDataTable函数将行插入到新的数据表中。 当我使用.CopyToDataTable.DefaultView.ToTable(True, "ColumnA", "ColumnB", "ColumnC")将行复制到数据表时,我能够获得不同的值,但我认为有更好的方法可以做到这一点。

现在这是我的查询 - 它获取3列及其不同的值,并将结果复制到数据表,然后将该数据表绑定到datagridview。我应该注意数据表DT1中有大约20列,我只需要在结果数据表中的某些列。

        Dim retRows = From myRows In DT1.AsEnumerable()
                  Where myRows.Field(Of String)("CORIENTATION").Trim.Equals("FRONT")
                  Select myRows

    DT3 = retRows.CopyToDataTable.DefaultView.ToTable(True, "CPA_DEF", "CCH_DEF", "CORIENTATION")
    DataGridView4.DataSource = DT3

有人可以告诉我如何显示另一个列中包含不同行数的列,只使用LINQ到达那里(从数据表中的现有数据)?

我想我正在寻找T-SQL等效于:

SELECT DISTINCT COLUMN1, COLUMN2, COLUMN3, COUNT(*) AS COUNT1 FROM TABLE1
GROUP BY COLUMN1, COLUMN2, COLUMN3

我需要在LINQ中这样做,我有点迷失。我刚开始使用LINQ。

0 个答案:

没有答案