title: Apply Where conditionally (OR between them) LINQ
body: <p>I have filters in my asp.net project and want to add expression to this list with condition:</p>
  
  <pre><code>Expression&lt;Func&lt;MyModel, bool&gt;&gt; func;
  var list = new List&lt;Expression&lt;Func&lt;MyModel, bool&gt;&gt;&gt;();
  </code></pre>
  
  <p>I want to conditionally apply Where (OR between them). for example:</p>
  
  <pre><code>if(sth){
     func = p =&gt; p.a &lt;= b;
     list.Add(func);
  }
  if (sth else){
     func = p =&gt; p.c &gt;= d;
     list.Add(func);
  }
  
  var fq = Session.Query&lt;MyModel&gt;();
  fq = list.Aggregate(fq, (current, expression) =&gt; current.Where(expression));
  </code></pre>
  
  <p>How can I do this?</p>