我需要在我的數據庫的表列上執行交叉連接。我使用linq和C#來做到這一點。下面是我寫的代碼:基於用戶選擇列的通用交叉連接
var res = (from item_1 in set1
join item_2 in set_2 on new
{
item_1.columnA,
item_1.columnB,
item_1.columnC,
item_1.columnD,
item_1.columnE,
//etc...
}
equals new
{
item_2.columnA,
item_2.columnB,
item_2.columnC,
item_2.columnD,
item_2.columnE,
//etc...
}
select new { item_1,item_2};
我有一個asp.net頁面,用戶可以選擇他們想要的列交叉連接來進行的。查詢應該反映他們的選擇。有些用戶只希望使用其中的2列,而其他用戶會選擇10.
我顯然不想在某些switch語句中重複此查詢幷包含所選列。如果有這樣一種通用的方式,我會流浪。傳遞一個lambda表達式...我只是不知道這應該如何完成。 任何幫助將不勝感激。
順便說一句,這不叫做交叉連接。交叉連接是未經過濾的笛卡爾產品。 – usr 2013-02-13 09:20:20