title: Is multiple .Where() statements in LINQ a performance issue?
body: <p>I am wondering if there are performance implications of multiple .Where() statements. For example I could write:</p>
  
  <pre><code>var contracts =  Context.Contract
      .Where(
          c1 =&gt;
              c1.EmployeeId == employeeId
          )
      .Where(
          c1 =&gt;
              !Context.Contract.Any(
                  c2 =&gt;
                      c2.EmployeeId == employeeId
                      &amp;&amp; c1.StoreId == c2.StoreId
                      &amp;&amp; SqlFunctions.DateDiff("day", c2.TerminationDate.Value, c1.DateOfHire.Value) == 1
                  )
          )
      .Where(
          c1 =&gt;
              !Context.EmployeeTask.Any(
                  t =&gt;
                      t.ContractId == c1.Id
                  )
          );
  </code></pre>
  
  <p>Or alternatively I could combine them all into the one Where() clause, like so:</p>
  
  <pre><code>var contracts =  Context.Contract
      .Where(
          c1 =&gt;
              c1.EmployeeId == employeeId
              &amp;&amp; !Context.Contract.Any(
                  c2 =&gt;
                      c2.EmployeeId == employeeId
                      &amp;&amp; c1.StoreId == c2.StoreId
                      &amp;&amp; SqlFunctions.DateDiff("day", c2.TerminationDate.Value, c1.DateOfHire.Value) == 1
                  )
              &amp;&amp; !Context.Employee_Task.Any(
                  t =&gt;
                      t.ContractId == c1.Id
                  )
          );
  </code></pre>
  
  <p>Does the chain of Where() clauses hurt performance or are they equivalent?</p>