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 ステートメントでこのクエリを繰り返して、選択した列を含めたくありません。これを行う一般的な方法があるかどうか、私はさまよっています。ラムダ式を渡す...これをどのように行うべきかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

0

Dynamic LinQに関する Scott Gu のブログ投稿をご覧ください。

問題に関する説明が含まれているだけでなく、ダウンロードへのリンクと例も提供されています。お役に立てれば!

于 2013-02-13T08:35:47.797 に答える