title: How can I sort a string of text followed by a number using LINQ
body: <p>I have been using the following sort:</p>
  
  <pre><code>var query = _cityRepository.GetAll(
                 .OrderBy(item =&gt; item.RowKey.Substring(0, 4))
                 .ThenBy(item =&gt; item.ShortTitle)
  </code></pre>
  
  <p>However I am having a problem because my ShortTitle looks like this:</p>
  
  <pre><code>Liverpool - 1
  Liverpool - 2
  ...
  Liverpool - 9
  Liverpool - 10
  Liverpool - 11
  West Kirby - 1
  West Kirby - 8
  West Kirby - 12
  </code></pre>
  
  <p>When I sort this using LINQ it comes in the order</p>
  
  <pre><code>Liverpool - 1
  Liverpool - 11
  Liverpool - 12
  Liverpool - 2
  West Kirby - 1
  West Kirby - 12
  West Kirby - 8
  </code></pre>
  
  <p>The ShortTitle is always a string of words followed by a single hyphen and then a number. </p>
  
  <p>Is there a way I can get this to sort correctly?</p>