Jack Marchetti
Jack Marchetti

Reputation: 15754

Linq 2 SQL Grouping Question

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 };

This isn't working. Basically I want to do the grouping, and then select certain columns, but when I do select new { grp. } I get no intellisense, so I'm obviously doing something wrong.

Any ideas?

Upvotes: 3

Views: 894

Answers (3)

Amy B
Amy B

Reputation: 110221

var pools = 
  from p in dc.Pool
  select new
  {
    p.ID,
    GroupName = p.Group.Name,
    Contribution = p.PoolMembers.Sum(pm => pm.Contribution),
    p.GameName
  };

Upvotes: 1

Gregoire
Gregoire

Reputation: 24872

I am not sure but, does the following code work?

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

EDIT

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, });

Upvotes: 1

alejandrobog
alejandrobog

Reputation: 2101

I think this is what you are looking for

      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 }; 

Upvotes: 1

Related Questions