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

use*_*286 5 linq field join

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

var join = group.Join(procSums, g => g.DeptID, ps => ps.key.deptID, (g, ps)...
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Jus*_*ner 9

您只需基于新的匿名对象加入:

// 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 });
Run Code Online (Sandbox Code Playgroud)

  • @ user259286 - 匿名类型中属性的名称(及其类型)必须完全匹配.我会更新我的答案. (3认同)