LINQ:如何在多个字段上使用 linq 扩展方法样式进行 JOIN?

发布于 2024-11-03 19:56:14 字数 201 浏览 3 评论 0原文

在下面的连接中,我想使用多个字段来进行连接,而不仅仅是一个字段。

var join = group.Join(procSums, g => g.DeptID, ps => ps.key.deptID, (g, ps)...

我发现的所有示例都使用查询样式来执行此操作,但我无法翻译它。

谢谢!

In the Join below, I'd like to use multiple fields to do the join rather than just one field.

var join = group.Join(procSums, g => g.DeptID, ps => ps.key.deptID, (g, ps)...

All examples Ive found use the query style to do this and I can't translate it.

Thanks!

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

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

发布评论

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

评论(2

音盲 2024-11-10 19:56:14

您只需根据新的匿名对象加入:

// ClasID is a placeholder, it could be any property you'd like
var join = group.Join(procSums,
                      g => new { g.DeptID, g.UnitLoc, g.Proc },
                      ps => new 
                            { 
                              DeptID = ps.key.deptID, 
                              UnitLoc = ps.key.unitLoc,
                              Proc = ps.key.procName 
                            },
                      (g, ps) => new { g, ps });

You just have to Join based on new anonymous objects:

// ClasID is a placeholder, it could be any property you'd like
var join = group.Join(procSums,
                      g => new { g.DeptID, g.UnitLoc, g.Proc },
                      ps => new 
                            { 
                              DeptID = ps.key.deptID, 
                              UnitLoc = ps.key.unitLoc,
                              Proc = ps.key.procName 
                            },
                      (g, ps) => new { g, ps });
醉殇 2024-11-10 19:56:14

您需要传递使用字段创建匿名类型的 lambda 表达式。
例如:

group.Join(procSums, g => new { g.DeptID, g.OtherField }, ps => new { ps.key.deptID, ps.key.OtherField }, ...)

匿名类型必须完全匹配。

You need to pass lambda expressions that create anonymous types with the fields.
For example:

group.Join(procSums, g => new { g.DeptID, g.OtherField }, ps => new { ps.key.deptID, ps.key.OtherField }, ...)

The anonymous types must match exactly.

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