我有数据表A和B.表A有第1列和第2列 . 第1列和第2列是主键 . 表B包含第1,2,4列 . 第1列和第4列是主键 . 我想更新表B,以便对于B.1 == A.1的每个值,我想使它成为B.2 = A.2 . 因为2不是表B的主键的一部分,所以可能有多个记录,其中B.1和B.2是相同的,我想为所有这些行更新2 .

我被这种代码困住了:

foreach(DataRow dr in A.Rows){
        DataRow Found = B.Rows.Find(dr[1]);
        if(Found != null)
             Found[2] = dr[2];
    }

我面临的主要问题是因为表B有一个由表A共享的复合主键 . 查找正在查找两个值,但只有一个可以来自表A.