title: Removing an Entity from an EntitySet during Iteration
body: <p>I've got this code... seems nice and elegant, but apparently the framework don't like it when i mess with a collection while iterating through it:</p>
  
  <pre><code>foreach (KitGroup kg in ProductToTransfer.KitGroups)    
  {    
  // Remove kit groups that have been excluded by the user    
  if (inKitGroupExclusions != null &amp;&amp; inKitGroupExclusions.Contains(kg.KitGroupID))    
      ProductToTransfer.KitGroups.Remove(kg);    
  else    
  {    
  // Loop through the kit items and do other stuff    
  //...    
  }    
  }
  </code></pre>
  
  <p>The error it throws when it iterates to the 2nd object in the collection is:
  "EntitySet was modified during enumeration"</p>
  
  <p>I know i could create a new collection of KitGroup objects (or even just IDs) that i want to remove, and then another loop afterwards to loop through these, and remove them from the collection, but this just seems like unnecessary extra code... can anybody suggest a more elegant way of achieving the same thing?</p>