投稿者 YuO  (社会人) 投稿日時 2016/2/14 13:44:50
単純に,MstTbl.Field(Of String)("ID")が複数のうちから,というのであれば,
対象をList(Of String)なりStringの配列なりに入れておいて,
List.ContainsやArray.IndexOfであるかどうかを調べるのが簡単かと。

そのような,単一の条件式に置き換え不可能な条件をOrElseで結合したい場合は,
Predicate(Of DataRow)またはFunc(Of DataRowt, Boolean)をListや配列に入れて,
条件式を
conditions.Any(Function (cond) cond(MstTbl))
のようにするあたりが対策になるかと。
AndAlsoであれば,単純にWhere拡張メソッドをIEnumerableに追加していくだけなのですが。

なお,OrElseではなく本当にOrであるなら,
conditions.Select(Function (cond) cond(MstTbl)).ToArray().Any()
が条件式になるのですが……。