投稿者 メタルスライム  (社会人) 投稿日時 2017/9/14 23:13:09
魔界の仮面弁士さん
ご回答、ありがとうございました。
とても勉強になりました。

まず、②のJOINの問題は、自己解決しました。
お騒がせしてすみません。

①の動的な複数の検索条件による絞り込み
についてですが、ご回答で
>しかし「複数の検索条件」というのが、SQL で言うところの
> WHERE TBL.ID = '01'
>  OR TBL.ID = '02'
>  OR TBL.COL1 = 'A'
>  OR TBL.COL2 = 'B'
>  OR TBL.COL3 = 'C'
>のようなものになると、これは少々厄介です。

と書かれたいた内容そのもので、やはり厄介なのですね。。。

>(案3) System.Linq.Expressions.Expression を使う。
自分でも、多少調べてみましたが、今やりたいことを実装しようと思うと
式ツリーしかなさそうに思います(涙)

shuさん
サンプルコード、ありがとうございました。
ですが、私のスキル不足で、解決には至りませんでした。


①動的な複数の検索条件による絞り込み
について、条件について情報を以下に追記いたします。
(検索画面を張りたかったのですが、できなさそうでしたので、文字情報のみになります)

以下のような、検索条件の処理について、LINQを含め、実装方法について、ご教示いただきたく存じます。

★検索条件★
・項目1:性別(男性、女性)→ラジオボタンで、どちらか選択
・項目2:血液型(A、B、O、AB)→チェックボックスで、複数選択可
・項目3:身長(cm)→テキストボックス入力で範囲指定
・項目4:体重(kg)→テキストボックス入力で範囲指定
・項目5:条件(条件1、2、3・・・)→チェックリストボックスで、複数選択可

※項目5は他のテーブルから取得して、条件を表示する為、条件数が動的に可変。

★検索条件例★
性別が男性、血液型がA or AB、身長が160~180cm、体重が50~90kg、条件は条件1、3に該当するデータ

SQLだと
where 
性別=男性 and 
血液型 in (A,AB) and
身長 Between 160 and 180 and
体重 Between 50 and 90 and
条件 in (条件1,条件3)
のような記述になると思います。