title: Different LINQ command execution and performance
body: <p>I have the following LINQ query:</p>
  <pre><code>Person
      .OrderBy(x =&gt; x.FirstName)
      .Where(x =&gt; x.FirstName.Contains(&quot;a&quot;));
  </code></pre>
  <p>I can also write this query in the following way:</p>
  <pre><code>Person
      .Where(x =&gt; x.FirstName.Contains(&quot;a&quot;))
      .OrderBy(x =&gt; x.FirstName);
  </code></pre>
  <p>Both of them have the same result. So here's my question,
  <strong>What is the difference between the two queries? Which one is better? And why?</strong></p>