仕事でLINQ to SQLを使ってDBからデータを検索してくるアプリを開発していて、検索する値をスペースで区切った場合はOR検索するという仕様を実装する必要があった。 OR検索自体は以下のように論理演算子で条件をつないでいくだけ。 var result = from d in db.Document where d.FileName.Contains("値1") || d.FileName.Contains("値2") select d; こう書けるのは条件の数がわかっているからで、今回の場合は動的に条件が変わるためこの書き方はできない。SQLであれば単に文字列を連結していけばいいだけだけど、LINQの場合はそうはいかない。 なので、こういう時はExpressionを使うことになる(面倒くさいからあまりやりたくなかったけど)。ちなみに、AND条件の場合はWhereメソッドで連結すればいい