两个记录集之间的双连接Linq c#

时间:2018-01-12 16:19:50

标签: c# linq

我必须将记录集作为两个不同类的C#列表:

class Foo{
   string A1;
   string B1;
   string A2;
   string B2;
}

class Faa{
   string A;
   string B;
   string C;
}

主要想法是将Faa和Foo加入摊位(A,B),结果将是(A1,B1,C1,A2,B2,C2)C1和C2分别相当于夫妻(A1, Faa记录中的B1)和(A2,B2)。

我想使用Linq to Object进行此连接。

由于

1 个答案:

答案 0 :(得分:0)

您只需要join两次到包含Faa s的记录集:

var ans = from ro in rFoos
          join ra1 in rFaas on new { A = ro.A1, B = ro.B1 } equals new { ra1.A, ra1.B }
          join ra2 in rFaas on new { A = ro.A2, B = ro.B2 } equals new { ra2.A, ra2.B }
          select new { ro.A1, ro.B1, C1 = ra1.C, ro.A2, ro.B2, C2 = ra2.C };