title: List sort based on another list
body: <p>I have two generic list objects, in which one contains ids and ordering, and the other a bunch of ids with each id in the second list having an id reference to the first list, for example;</p>
  
  <pre><code>public class OptionType
  {
      public int ID { get; set; }
      public int Ordering { get; set; }
  }
  
  public class Option
  {
      public int ID { get; set; }
      public int Type_ID { get; set; }
  }   
  </code></pre>
  
  <p>Obviously I can do a simple sort on a list of OptionTypes by doing</p>
  
  <pre><code>types_list.OrderBy(x =&gt; x.Ordering);
  </code></pre>
  
  <p>Question is though, how could I go about ordering an 'options_list' by utilising the 'Type_ID' on the object which would relate to the ordering of the types_list. As in something like (obviously this isn't valid - but hopefully you will get the idea!)</p>
  
  <pre><code>options_list.OrderBy(x =&gt; x.Type_ID == types_list.OrderBy(e =&gt; e.Ordering));
  </code></pre>