2011-03-18 20 views
21

Bir linq sorgusu yapmaya çalışıp yardım edip edemeyeceğinizi merak ediyordum.Linq grubu, sorguya göre

foo nesnelerinin bir listesini ve her foo nesnesinin bir bar listesi vardır. Çubuğun aktif bir tarihi ve bir sayısal değeri vardır. Ve örnek

foo 
    bar -> 01/02/05, 10000 
    bar -> 04/06/10, 30023 
foo 
    bar -> 30/01/02, 23494 

için ben

Onun Cuma olabileceğini bana tarihlerin ayrı listesi ve bu tarihten için toplanır toplam dönecektir bir linq sorgusu yazmak istiyorum, ama çiziyorum boş.

cevap

45

sana benziyor önceden

Teşekkür istiyorum: ...

var query = from foo in list 
      from bar in foo.Bars 
      group bar.Value by bar.Date into dates 
      select new { Date = dates.Key, Sum = dates.Sum() }; 
+0

evet, bilet şu ... Eve gitmek gerektiğini düşünüyorum –

+0

@brokem, toplanan toplamdan sonra, tarihlerin sayısı değil –

+0

@mjmcloug: Evet, bir kere daha önce bu yorumu yazmış olduğumu fark ettim. – BrokenGlass

6

de onu kontrol

var q = from e in Entries 
      select new 
      { 
       EntryID = e.EntryID, 
       EntryName = e.EntryName, 
       EntryDescription = e.EntryDescription, 
       VoterID = voterID, 
       Score = (int?)(from v in e.Votes 
           where v.VoterID == voterID 
           select v.Score).FirstOrDefault()