投稿者 メタルスライム  (社会人) 投稿日時 2017/9/20 21:14:23
前回「複数のデータテーブルやコレクションのデータを~」という質問をさせていただいた、メタルスライムと申します。

いくつかのデータテーブルあるいはコレクションを、Joinで結合して、データを取得したいと考えています。

その際、フラグ等の条件で結合を分岐したいのですが、上手くいきません。
以下に、コードを記載しています。
皆様のお知恵を拝借したく、お手数ですが、宜しくお願い致します。

◆サンプル◆
例えばLIST_AとLIST_Bというリストで、
Dim Query = From A In LIST_A
              Join B In LIST_B On A.ID Equals B.ID
とJOINします。

ここでもしフラグCがtrueの場合、さらにjoinを、falseの場合
Joinせず、次の処理へ。
次に、今度はフラグDがtrueの場合、さらにjoinを、falseの場合
Joinせず、次の処理へ…。
(こういう処理が10回くらい必要です)

このような処理を
Dim Query = From A In LIST_A
              Join B In LIST_B On A.ID Equals B.ID
If FlagC﹦true then
Join C In LIST_C On A.ID Equals C.ID
End If 
と書いてみましたが、ダメでした。

仕方ないので、今は
Dim Query = From A In LIST_A
              Join B In LIST_B On A.ID Equals B.ID
として、
その後、
If FlagC﹦true then
Dim Query2 = From q In Query 
              Join C In LIST_C On q.ID Equals C.ID
End If 
としています。