2列「類別」和「子類別」嵌套linq查詢,如何獲取不同的值?
的表數據我想用代碼下面我得到重複得到的「類別」的集合,[子類別] 。 Puting .Distinct()在外部「from」之後沒有多大幫助。我錯過了什麼?
var rootcategories = (from p in sr.products
orderby p.category
select new
{
category = p.category,
subcategories = (
from p2 in sr.products
where p2.category == p.category
select p2.subcategory).Distinct()
}).Distinct();
sr.products看起來像這樣
category subcategory
----------------------
cat1 subcat1
cat1 subcat2
cat2 subcat3
cat2 subcat3
我所得到的結果中是
cat1, [subcat1,subcat2]
cat1, [subcat1,subcat2]
,但我只想要一個條目
解決了我這個代碼的問題:
var rootcategories2 = (from p in sr.products
group p.subcategory by p.category into subcats
select subcats);
現在也許是時候想起了什麼是正確的問題。( - :
自我提醒:學會用更groupbys下一次。 – chakrit 2008-11-09 18:07:37