title: How to consolidate results from multiple IEnumerable<T> using LINQ
body: <p>I could have multiple (upto 5) <code>IEnumerable&lt;ResortSupplier&gt;</code> and would like to consolidate them into single <code>IEnumerable&lt;ResortSupplier&gt;</code> grouping by SupplierCode. My objects looks like this:</p>
  
  <p>Here are my objects:</p>
  
  <pre><code>[Serializable]
  public class ResortSupplier
  {
      public string SupplierCode { get; set; }
      public IList&lt;Product&gt; ResortProducts { get; set; }
  }
  
  [Serializable]
  public class Product
  {
      public string Code { get; set; }
      //Other fields... 
      public IList&lt;PerPricing&gt; PricingDetail { get; set; }
  }
  
  [Serializable]
  public class PerPricing
  {
      //Other fields..
      public decimal? Price { get; set; }
      public Error PricingError { get; set; }
  }
  </code></pre>
  
  <p>Data in multiple IEnumerable could look like this:</p>
  
  <pre><code>----------------------------------------
  IEnumerable&lt;ResortSupplier&gt; - 1
  
  Hyatt Resort
    Standard Room
      PricingDetail-1
    Superior Room         
      PricingDetail-1
  
  Sandals Resort
    Standard Room
      PricingDetail-1
    Delux Room            
      PricingDetail-1
  
  ----------------------------------------
  IEnumerable&lt;ResortSupplier&gt; - 2
  
  Hyatt Resort
    Standard Room
      PricingDetail-2
    Superior Room         
      PricingDetail-2
    One Bed Room Suit
      PricingDetail-2
  
  Sandals Resort
    Standard Room
      PricingDetail-2
    Honeymoon Suit            
      PricingDetail-2
  ----------------------------------------
  IEnumerable&lt;ResortSupplier&gt; - 3
  .....
  ----------------------------------------
  IEnumerable&lt;ResortSupplier&gt; - 4
  .....
  ----------------------------------------
  IEnumerable&lt;ResortSupplier&gt; - 5
  .....
  ----------------------------------------
  </code></pre>
  
  <p>My consolidated result should contain:</p>
  
  <pre><code>IEnumerable&lt;ResortSupplier&gt; - Consolidated
  
  Hyatt Resort
    Standard Room
      PricingDetail-1
      PricingDetail-2
    Superior Room         
      PricingDetail-1
      PricingDetail-2
    Bed Room Suit
      PricingDetail-2
  
  Sandals Resort
    Standard Room
      PricingDetail-1
      PricingDetail-2
    Delux Room            
      PricingDetail-1
    Honeymoon Suit            
      PricingDetail-2
  
  ----------------------------------------
  </code></pre>
  
  <p>What is the best way to handle this? I tried simple IEnumerable.Union and GroupBy clauses but doesn't get me the results I want.</p>