Access all of the data after joining two tables and group them using linq

c#, join, linq, linq-group

Solution

The expression between the `group` and the `by` creates the group elements.

var result =  
from a in db.TableA 
join b in db.TableB on a.aId equals b.aId 
group new {A = a, B = b} by b.bValue;

  // demonstration of navigating the result
foreach(var g in result)
{
  Console.WriteLine(g.Key);
  foreach(var x in g)
  {
    Console.WriteLine(x.A.aId);
    Console.WriteLine(x.B.bId);
  }
}

Problem

I have two tables ``` TableA aId aValue TableB bId aId bValue ``` I want to join these two tables via `aId`, and from there, group them by `bValue` ``` var result = from a in db.TableA join b in db.TableB on a.aId equals b.aId group b by b.bValue into x select new {x}; ``` My code doesn't recognize the join after the group. In other words, the grouping works, but the join doesn't (or at least I can't figure out how to access all of the data after the join).

Original source