1

私はテーブルを持っています、

**Matter No      Client No    Client Name  Invoice No  Invoice Date    Invoice Amt**

1111-0001          1111          ABC            101       01/01/2013       100.00 
1111-0001          1111          ABC            102       02/01/2013       200.00
1111-0001          1111          ABC            103       03/01/2013       300.00
1111-0001          1111          ABC            104       04/01/2013       400.00
1111-0001          1112          DEF            105       05/01/2013       500.00
1111-0001          1113          GHI            106       06/01/2013       600.00

上記のシナリオに基づいて、すべての列を返したいのですが、列に基づいて DISTINCT ROWS - Matter No と Client No. つまり、3 つの行を出力として表示する必要があります。

**Matter No      Client No    Client Name  Invoice No  Invoice Date    Invoice Amt**

1111-0001          1111          ABC            101       01/01/2013       100.00 
1111-0001          1112          DEF            105       05/01/2013       500.00
1111-0001          1113          GHI            106       06/01/2013       600.00

LINQでこれを達成するにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

5
from x in table
group x by new {x.MatterNo, x.ClientNo}
into mygroup
select mygroup.First();

または、この構文を好む場合

list.DistinctBy(x => new {x.MatterNo, x.ClientNo});

リストを扱っていない場合は、試すことができます

from DataRow drow in dtable.Rows
group drow by new {MatterNo = drow["Matter No"], ClientNo = drow["Client No"]}
into myGroup
select myGroup.First();
于 2013-05-09T22:48:54.833 に答える