2012-01-12 7 views
0

私は最初のブロックからLinqクエリ経由で2番目のブロックに移動しようとしています、それは可能ですか?Linqサブグループ化クエリ

Year Quarter WordDoc SpreadSheet 
--------------------------------------------------- 
2005 Q1  q1file.doc - 
2005 Q1  -     q1file.xls 
2005 Q2  q2file.doc - 
2005 Q2  -      q2File.xls 
2005 Q3  q3file.doc - 
2005 Q3  -      q3File.xls 
2006 Q4  q4file.doc - 
2006 Q4  -      q4File.xls 

第二ブロック:

Year Quarter WordDoc SpreadSheet 
--------------------------------------------------- 
2005 
     Q1  q1file.doc q1File.xls 
     Q2  q2file.doc q2File.xls 
     Q3  q3file.doc q3File.xls 
2006   
     Q4  q4file.doc q4File.xls 

は、残念ながら、私がこれまでに把握することができ、すべてが年によってグループ化されています

var results = 
    from entry in SampleDeals 
    group entry by entry.Year into years 
    select years; 

results.Dump(); 
+0

ヒント:you p robably joinをやりたい –

答えて

0

は、すべてのグループが2つの要素、ワード文書のものを持っていると仮定すると、もう1つはスプレッドシート:

var groups = SampleDeals.GroupBy(deal => new {Year = deal.Year, Quarter = deal.Quarter}); 
var whatYouWant = groups.Select(group => new {Year = group.Year, Quarter = group.Quarter,  
         WordDoc = group.First().WordDoc ?? group.ElementAt(1).WordDoc, 
         SpreadSheet = group.First().SpreadSheet ?? group.ElementAt(1).SpreadSheet});