[英]LINQ to SQL Select Distinct by Multiple Columns and return entire entity
[英]LINQ - Return rows with all columns of a table based on multiple distinct columns
我有桌子
**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-物料编号和客户编号。即,我需要看到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中实现这一目标?
提前致谢
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();
尝试这个:
DataTable result = dt.AsEnumerable()
.GroupBy(x => x.Field<int>("COLUMN NAME"))
.Select(x => x.First()).CopyToDataTable();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.