我需要对数据库中的表列执行交叉联接。我用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表达式。。。我只是不确定该怎么做。如有任何帮助,我们将不胜感激。
看看Scott Gu关于动态LinQ的博客文章。
它不仅包含对此事的解释,还提供了下载链接和示例。希望这能有所帮助!