我正在繼續LINQ: Groupby and Last。LINQ:組和包括在最終結果中的LET
ID Field1 Field2 Field3
1 aaaa 20/01/2014 10
2 aaaa 21/01/2014 3
3 aaaa 25/01/2014 10
4 bbbb 01/01/2014 90
5 bbbb 03/01/2014 10
6 bbbb 31/01/2014 5
我想按字段1,抓住基於字段2各組的最古老的行:
基本上我下面的表格了。
我還需要建立一些基於field3的複雜計算(我爲此使用「let」)。 現在我使用Where子句中的「let」。這很好。
我:
var result = from p in Table1
let MyLet = p.Field3 - 1 //This is actually very complex in the real scenario.
Where MyLet > 5
group p by p.Field1 into grp
select grp.OrderByDescending(g=>g.Field2).First();
!如何包括MyLet到最終的結果,所以它看起來像這樣
ID Field1 Field2 Field3 MyLet
3 aaaa 25/01/2014 10 9
5 bbbb 03/01/2014 10 9
'MyLet'是您用於過濾的變量。你究竟想如何取回?你能展示任何樣本輸出嗎? – 2014-12-27 15:18:24
我編輯了這個問題以包含應該看起來像什麼。注:行ID = 6是Field1 = bbbb,BUT中最早的,因爲WHERE子句中的MyLet過濾器「MyLet> 5」此行(ID = 6)不會生成該行。 – danieljaguiar 2014-12-27 15:29:01