我有一个通过 linq 调用的存储过程(我无法编辑)。
存储过程返回值(下面更复杂但重要的数据):
Customer Stock Item Date Price Priority Qty
--------------------------------------------------------
CUST1 TAP 01-04-2012 £30 30 1 - 30
CUST1 TAP 05-04-2012 £33 30 1 - 30
CUST1 TAP 01-04-2012 £29 20 31 - 99
CUST1 TAP 01-04-2012 £28 10 1 - 30
我试图将此列表限制为在 LINQ 中具有唯一日期和唯一数量的行。我想删除具有更高优先级的项目,留下具有唯一日期和数量的行。
我已经尝试了几种group by
使用Max
andorder by
的方法,但都没有得到结果。
有没有办法通过 linq 做到这一点?
编辑:
设法将 brad-rem 的答案转换为 VB.net。
如果有人需要,请使用以下语法:
returnlist = (From p In returnlist
Order By p.Qty Ascending, p.Priority
Group By AllGrp = p.Date, p.Qty Into g = Group
Select g.First).ToList