在所有 LINQ to SQL 操作中,GroupBy 是最難理解的一個,因為它與 T-SQL 的 GROUP BY 語意差異極大。T-SQL 僅用於彙總統計,而 LINQ 的 GroupBy 回傳完整的分群物件集合,威力遠超單純統計。
System.Data.Linq.dll 參考。Northwind DataContext 實例,設定連線字串。
Products 資料表的 CategoryID 欄位代表產品所屬分類:
具體分類名稱儲存在 Categories 資料表,兩表透過 CategoryID 關聯:

理解此關聯是後續 GroupBy、繼承映射的基礎。