0

我需要对数据库中的表列执行交叉连接。我使用 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 表达式......我只是不确定应该如何完成。任何帮助将不胜感激。

4

1 回答 1

0

看看 Scott Gu 关于Dynamic LinQ的这篇博文。

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

于 2013-02-13T08:35:47.797 回答