连接两个表后访问所有数据并使用 linq 将它们分组

发布于 2024-09-02 21:03:28 字数 356 浏览 3 评论 0 原文

我有两个表,

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

我的代码无法识别组后的连接。换句话说,分组有效,但联接不起作用(或者至少我不知道如何在联接后访问所有数据)。

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以往的大感动 2024-09-09 21:03:28

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

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

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);
  }
}
冷月断魂刀 2024-09-09 21:03:28

您的 result 对象将是一个 IQueryable>,因此您必须访问结果集合之一,该集合将为 IGrouping T>,然后深入那个集合以获取x对象。

Your result object will be an IQueryable<IGrouping<T>>, so you'd have to access one of the results collection, which will be IGrouping<T>, and then dig into that collection to get the x objects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文