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
を試しorder 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