Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
LINQのjoinを条件で分岐できるでしょうか?
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30289#CommentId83073
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
メタルスライム
 (社会人)
投稿日時
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
としています。