2010-06-03 4 views
3
var groups = from p in dc.Pool 
      join pm in dc.PoolMembers on p.ID equals pm.PoolID 
      group p by p.Group into grp 
      select new { grp.ID }; 

이것은 작동하지 않습니다. 기본적으로 그룹화를하고 특정 열을 선택하고 싶지만, 내가 할 때 select new { grp. } 인텔리 센스가 없으므로 분명히 뭔가 잘못되었습니다.Linq 2 SQL 그룹화 질문

아이디어가 있으십니까?

답변

1

잘 모르겠지만 다음 코드가 작동합니까? 편집

var groups = from p in dc.Pool 
      join pm in dc.PoolMembers on p.ID equals pm.PoolID 
      group p by p.Group into grp 
      select grp.Select(g=> new{ 
        Id = g.Id, 
        GroupName = grp.Key.Name, 
        Contribution = pm.Contribution, 
        GameName = p.GameName, }); 
+0

찾고있는 생각 : 선택 새로운 {p.ID, GroupName = p.Group.Name, pm.Contribution, p.GameName,}; 가능한지 확실하지 않습니다. –

+0

pm.Contribution은 p로 그룹화했기 때문에 작동하지 않습니다. – alejandrobog

1

var groups = from p in dc.Pool 
      join pm in dc.PoolMembers on p.ID equals pm.PoolID 
      group p by p.Group into grp 
      select grp.Select(g=> g.ID); 

나는이 당신이 "작동하는"하지만 내가 무엇을 할 수 있기를 원하는 것은이되는 것을

 var groups = from p in dc.Pool 
       join pm in dc.PoolMembers on p.ID equals pm.PoolID 
       group p by p.Group into grp 
       select new { grp.Key.ID, GroupName = grp.Key.Group.Name, grp.Key.GameName }; 
1
var pools = 
    from p in dc.Pool 
    select new 
    { 
    p.ID, 
    GroupName = p.Group.Name, 
    Contribution = p.PoolMembers.Sum(pm => pm.Contribution), 
    p.GameName 
    };