2012-05-22 7 views
0

나는 다음과 같은 구조 항목의 목록이 있습니다 Id날짜 별고급 GROUPBY

  1. 아이디
  2. 날짜 시간
  3. 무게

어떻게 그룹을 Date 필드의 (어느 DateTime)이며 그룹의 총 무게는? 당신이 ID와 날짜 모두 그룹화하려는 경우에는 다음과 같이 그것을 할 수

  1. 아이디
  2. 날짜
  3. TotalWeight
+4

그룹으로 묶으시겠습니까? 'Id'와'Date'? – vcsjones

+0

예, ID 및 날짜 (DateTime 대신)로 그룹화하고 싶습니다. –

+0

@vcsjones : 어떤 아이디어입니까? –

답변

3

: 나는 이런 식으로 뭔가를 원하는

var grp = from x in items 
      group by new {x.Id, x.DateTime.Date}; 

var result = grp.Select(x=>new {item = x.Key, TotalWeight = x.Sum(y=>y.Weight)}); 
+0

'Datetime' 대신'Date'로 그룹화하려고합니다. –

+0

@RezaOwliaei, 편집을 참조하십시오. 그러나 이것이 linq2EF의 경우 작동하지 않습니다. 그렇다면 대답을 업데이트하라고 알려주십시오. –

0
var result = from x in items 
      group x by new { x.Id, x.DateTime.Date } into grouping 
      select new 
      { 
       id = grouping.Key.Id, 
       Date = grouping.Key.Date, 
       TotalWeight = grouping.Sum(y=>y.Weight) 
      };