2011-03-18 5 views
21

linq 쿼리를 사용하려고 애쓰며 여러분이 도움을 줄 수 있는지 궁금합니다.쿼리에 의한 Linq 그룹

개체 목록이 foo이고 각 foo 개체의 목록이 bar입니다. 막대에는 활성 날짜와 숫자 값이 있습니다. 그리고 예를

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

위해 나는

그것의 금요일이 될 수 있다는 것을 나에게 날짜의 별개의 목록과 해당 날짜에 대한 합계 합계를 반환하는 LINQ 쿼리를 작성하려는, 그러나 나는 그리기 해요 공백.

답변

45

당신처럼 보이는 미리

감사합니다 ...

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

네, 티켓 이잖아 ... 난 집에 갈 필요가 있다고 생각 –

+0

@brokem, 날짜 합계가 아닌 합계를 계산합니다. –

+0

@mjmcloug : 예전에 주석을 작성한 후에는 즉시 제거했습니다. – BrokenGlass

6

뿐만 아니라 그것을 확인

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()