基于用户对列的选择的表上的通用交叉联接



我需要对数据库中的表列执行交叉联接。我用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的博客文章。

它不仅包含对此事的解释,还提供了下载链接和示例。希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新