我有2個大的數據表,需要通過組合鍵的平等相交人 - 說從一個表,然後從其他("MyId1", "MyId2")
領域("Id1", "Id2")
。快速連接兩個大的DataTable
我需要這儘可能快地工作,所以經常LINQ的數據行JOIN是解決不了問題。我想爲<composite_key>/<datarow>
等表格創建字典,然後將它們的鍵相交,這將顯着加快工作。對於複合鍵,我需要使用類似Tuple
這樣的組合值並進行比較。這個工程非常快,但問題是當我嘗試比較喜歡Tuple<int, int>(1,1)
和Tuple<short, short>(1,1)
鍵 - 因爲類型參數不同,按鍵永遠不會相等。我現在看到的唯一選擇是將關鍵字段預轉換爲其最覆蓋的類型(如字節,整數,長整數等),然後進行比較。不是一個很好的解決方案。 問題:
1.是否有類似的元組可以比較「相似」類型的值的東西嗎?
2.是否有加入兩個數據表等快速路?
謝謝!
PS:這些鍵字段並非總是數據表的主鍵
創建一個數據庫視圖會比代碼做 – Shekhar 2015-04-02 00:07:46
@Shekhar在我的應用我可以從variuos源有數據,不僅從SQL服務器 – LINQ2Vodka 2015-04-02 00:08:43