У меня есть две таблицы
TableA
aId
aValue
TableB
bId
aId
bValue
Я хочу присоединиться к этим двум таблицам через aId
, и оттуда, сгруппируйте их 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};
Мой код не распознает соединение после группы. Другими словами, группирующиеся работы, но соединение не делает (или по крайней мере я не могу выяснить, как получить доступ ко всем данным после соединения).
Выражение между группой
и by
создает элементы группы.
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);
}
}
Ваш результат
объект будет IQueryable
, поэтому вам нужно будет получить к нему доступ коллекции результатов, которая будет IGrouping
, а затем раскопаться в этой коллекции, чтобы получить объекты x
.