title: Sorting data issue
body: <p>So I have a little issue in sorting some data I have.  In a Telerik Grid, I have a column called Requestor that displays the name of a person or Unit (group of people).  The problem is, Requestor has two sources it can get it's data from.  Here are the two sources.</p>
  
  <p>1.) RequestorId: This is a foreign key to a table called Customer.  Here, I store all the data for the user, including their full name.  This field can be null btw.</p>
  
  <p>2.) UnitId: This is another foreign key to a table called Units.  Here, I store all the data for the Units, particularlly their names.  This field can be null btw.</p>
  
  <p>Here is the logic:</p>
  
  <pre><code>//Entity class that contains all the data for my grid
  var purchaseOrders = _purchaseOrders.GetPurchaseOrders();
  
  //Key is Id of PurchaseOrders, Value is name of requestor
  var dictionary = new Dictionary&lt;int, string&gt;();
  
  foreach (var purchaseOrder in purchaseOrders)
  {
  if (purchaseOrder.requestorId != null)
     dictionary.add(purchaseOrder.Requestor.Fullname);
  else 
     dictionary.add(purchaseOrder.unit.Fullname);
  }
  
  dictionary.orderby(x =&gt; x.value).ToDictionary(x =&gt; x.Key, x.Value);
  var tempPurchaseOrders = new List&lt;PurchaseOrder&gt;();
  
  foreach (var item in dictionary)
  {
     tempPurchaseOrders.Add(purchaseOrders.Where(x =&gt; x.Id == item.Key).FirstOrDefault());
  }
  
  purchaseOrders = tempPurchaseOrders.AsQueryable();
  return purchaseOrders;
  </code></pre>
  
  <p>This logic returns an ordered list based on what I want to do, however, the problem is the amount of time it takes to process.  It takes 1 minute to process.  That's horrible obviously.  Is there anyway to optimize this?  I cut down the source after I return for the grid because there is no logical way to really cut it down beforehand.</p>
  
  <p>Any help would be appreciated.  Thanks.</p>
  
  <p><strong>Edit: I found out I no longer am required to use the RequestName field.  That limits the data to two areas now.  Still a minute to process though.</strong></p>