我有兩個DataTables
:dtChild和dtMaster。 在第二個數據表中找到某個列的匹配項
每行dtChild,我想看看是否有在dtMaster匹配。這個匹配是基於特定的列。
所以上面的圖片中,既有DataTables
有一個名爲col2的和COL3列。這些是我們感興趣的專欄。在第二行中,我們有一個匹配。因爲在dtMaster一排col2的等於對Value22到Value23值和值COL3相等的。
我想寫一個LINQ查詢,將第一行結果返回null
(因爲沒有匹配的dtChild第一絲束)和第二行返回找到的記錄的ID在dtMaster (讓我們假設dtMaster在這種情況下也有一個名爲Id的主鍵列)。
N.B.每次我們運行程序時,列名都可能有所不同。所以我們希望我們的LINQ是動態的。同樣,匹配列的數量(上例中爲2)可以變化。因此,可能會出現我們的情況基於5列值的情況。
如果有多個匹配怎麼辦?你想只有第一場比賽的id(我認爲是Col1)嗎? –
你的邏輯中有一些非常錯誤「對於dtChild中的每一行,我想看看dtMaster中是否有匹配」。主/子關係的要點是,主人的行總是存在,而孩子可能存在也可能不存在,而不是相反的 –
@TimSchmelter好問題。我們只關心第一場比賽。我們希望匹配返回到名爲'Id'的列的值,與其他名稱不同。 – Disasterkid