首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 3.0 入門系列(八):GroupBy 分組查詢進階——理解分組物件結構與巢狀迭代

     編輯:關於C語言

GroupBy 回傳物件結構圖解

LINQ to SQL 的 GroupBy 不同於 T-SQL 的 GROUP BY:它不只回傳彙總值,而是回傳一組分群物件,每個分群物件包含:

  • Key:分群依據的欄位值(如 CategoryID = 7)
  • 該群組內的所有元素(如該分類下的所有產品)

GroupBy 物件結構示意圖

巢狀迭代存取群組明細

var q = from p in db.Products
        group p by p.CategoryID into g
        select g;

foreach (var group in q)
{
    if (group.Key == 7) // 海鮮類
    {
        foreach (var product in group)
        {
            // 處理該分類下的每個產品
            Console.WriteLine(product.ProductName);
        }
    }
}

外層 foreach 遍歷分群,內層 foreach 遍歷群組內元素。這使得「分群後再處理明細」的邏輯極為自然。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved