將不確定變為確定~Linq的Group是否可以根據多個字段進行分組


回到目錄

linq中的查詢與傳統T-SQL有些不同,它為了體現VS的智能提示,在SQL寫法上進行了自己的規定,如傳統的select語句,可能是這樣

select * from order_info

但在linq中,它會被寫成這樣

from data in order_info select data

今天要說的問題是linq 中的分組查詢問題,也就是group by 問題,它是否可以支持對多個字段進行分組呢?

我們先來做實驗,對訂單中的所有用戶進行分組,查出他們的訂單金額總和

from m in Order_Info
group m by m.UserID into p
select new { ID = p.Key, score =p.Sum(m=>m.TotalFee)}

結果如下:

OK,現在需求有變化了,需要去把所有用戶的訂單金額進行統計的同時,還要將用戶的支付方式進行區別,言外之意就是說要對用戶和它的支付方式同時進行分組

代碼可以這樣寫,用一個匿名對象來存儲這兩個字段即可

from m in Order_Info
group m by new{m.PayType,m.UserID} into p
select new { ID = p.Key, score =p.Sum(m=>m.TotalFee)}

結果如下:

最后推薦一個測試Linq的工具,LinqPad,挺好用的,呵呵。

回到目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM