title: How can I merge two Observable Collections, taking only the new and changed items from the new list, and add it to the old list?
body: <p>I have a WPF app that uses a DataGrid element that is bound to an ObservableCollection:</p>
  
  <pre><code>ObservableCollection&lt;Deployment&gt; deployments = DataAccess.GetDeployments();
  datagrid01.ItemsSource = deployments;
  </code></pre>
  
  <p>Here is a Deployment class. A Deployment object represents an Windows installation that is happening out in the field, so things like CurrentTime changes frequently.</p>
  
  <pre><code>class Deployment
  {
      public string UniqueID { get; set; }        
      public string ComputerName { get; set; }       
      public string IPAddress { get; set; }
      public string Make { get; set; }
      public string Model { get; set; }       
      public string UserName { get; set; }       
      public string TaskSequenceName { get; set; }      
      public string MachineObjectOU { get; set; }
      public DateTime? StartTime { get; set; }
      public DateTime? CurrentTime { get; set; }
      public string Status { get; set; }
  }
  </code></pre>
  
  <p>Periodically I want to update DataGrid with any changes to these objects, like the CurrentTime or their Status. Their Status changes to a 3 when they are finished installing, or is a 2 if they are in an error state.</p>
  
  <p>So, I can get a new collection of objects on a timer, but what is the best way to add ONLY the new items from this new collection to the DataGrid, and to CHANGE the existing items who have an updated time, or status, or whatever?</p>