title: Linq - Order by StartsWith then Contains
body: <p>Say i have 3 customer names:</p>
  
  <pre><code>Microsoft
  Another customer also called Microsoft
  A third customer called Microsoft
  </code></pre>
  
  <p>Now if i query the customers like this...</p>
  
  <pre><code>var q = (from cust in db.Cust
                      where cust.Name.Contains("Microsoft")
                      orderby cust.Name ascending
                      select cust)
  </code></pre>
  
  <p>...i get this order:</p>
  
  <pre><code>A third customer called Microsoft
  Another customer also called Microsoft
  Microsoft
  </code></pre>
  
  <p>What i want is to get Microsoft first, based on the fact that it starts with "Microsoft".</p>
  
  <p>Changing Contains to StartsWith of course leaves me with 1 result instead of 3.</p>
  
  <p>Could this be done in a single query?</p>