c#linq使用复合外键列返回子表行

时间:2017-10-16 07:53:50

标签: c# linq

我有TableA和TableB,其中TableA具有在表B中引用的复合主键。复合列以字符串数组的形式提供。如何使用字符串数组中的列来获取TableB与TableA匹配的行,这些列是动态地在TableA和TableB在数据集中加载的地方。

说,例如

string[] arTableA = new string[]{Composite key columns of A};
string[] arTableB = new string[]{Composite key columns of B};

var Result = (from A in TableA)
              join B in TableB on new {arTableA } equals new {arTableB}  
              select TableB.Columns

1 个答案:

答案 0 :(得分:0)

创建一个可以连接键值的函数,如下所示:

 yarn start --reset-cache

在加入时,您可以在查询中使用该函数:

var key = new Func<DataRow, string[], string>((r, keys) => {
    return keys.Select(c => r[c].ToString()).Aggregate((current, next) => current + next);
});