原來dlinq不僅僅是做了一個groupby操作呀,他還針對每個組,都去做了一個遍歷呀。我們可以用下面的圖來理解。
外面的大圈,表示全集。而這個全集被分成了若干個小的集合。每個集合就叫做g。在g集合中,包含一個系統定義的Property,叫做Key。key值實際為分類時所用字段的值。而另外一部分,是該類別中所有的product.所以,我們如果想遍歷某類別中所有的紀錄,要這麼來做。
var q = from p in db.Products
group p by p.CategoryID into g
select g;
foreach (var gp in q)
{
if (gp.Key == 7)
{
foreach (var p in gp)
{
//do something
}
}
}