0

こんにちは、2 つの DataTables を結合しようとしています。左側には主キーとして 3 つの異なる列が含まれ、もう 1 つは外部キーと同じ列が含まれています。左側のデータテーブル イメージは次のとおりです。

ここに画像の説明を入力

右の DataTable イメージは次のとおりです。

ここに画像の説明を入力

ここに私が使用しようとしているコードがありますが、何も返されていません。

var query5 =
        from ChanToNGrsToNgrDAnWal in chanToNGrsToNgrDAnWal.AsEnumerable()
        join Node in node.AsEnumerable() 
            on new { 
                 A = ChanToNGrsToNgrDAnWal.Field<int?>("diffusers_Id"), 
                 B = ChanToNGrsToNgrDAnWal.Field<int?>("analogs_Id"), 
                 C = ChanToNGrsToNgrDAnWal.Field<int?>("wallstats_Id") }
            equals new { 
                 A = Node.Field<int?>("diffusers_Id"), 
                 B = Node.Field<int?>("analogs_Id"), 
                 C = Node.Field<int?>("wallstats_Id") 
            }                  
        select new
        {
            channel_Id = ChanToNGrsToNgrDAnWal.Field<int?>("channel_Id"),
            number = ChanToNGrsToNgrDAnWal.Field<string>("number"),
            nodeGroups_Id = ChanToNGrsToNgrDAnWal.Field<int>("nodeGroups_Id"),
            analogNodeSerial = ChanToNGrsToNgrDAnWal.Field<string>("analogNodeSerial"),
            diffuserNodeSerial = ChanToNGrsToNgrDAnWal.Field<string>("diffuserNodeSerial"),
            wallStatNodeSerial = ChanToNGrsToNgrDAnWal.Field<string>("wallStatNodeSerial"),
            diffusers_Id = ChanToNGrsToNgrDAnWal.Field<int?>("diffusers_Id"),
            analogs_Id = ChanToNGrsToNgrDAnWal.Field<int?>("analogs_Id"),
            wallstats_Id = ChanToNGrsToNgrDAnWal.Field<int?>("wallstats_Id"),
            typeCode = Node.Field<string>("typeCode"),
            node_Id = Node.Field<int?>("node_Id")

        };

なぜこれが起こっているのか、または私が書いているクエリが間違っているのか、誰か教えてもらえますか?

4

1 に答える 1