我有两张 table

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

我的代码无法识别出该组之后的联接。换句话说,分组有效,但是联接不起作用(或者至少我无法弄清楚联接后如何访问所有数据)。

最佳答案

groupby之间的表达式创建了group元素。

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

关于c# - 联接两个表并使用linq将它们分组后,访问所有数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2876978/

10-11 13:42