title: Track changes to collections using Entity Framework change tracker
body: <p>For auditing/history purposes, I am using the Entity Framework change tracker to determine, before writing changes, what has changed and serialize the changes.  I can get the changed entities by calling <code>this.ChangeTracker.Entries()</code> in my <code>DbContext</code> derivative and looking at the values for anything marked <code>EntityState.Added</code>, <code>EntityState.Deleted</code>, or <code>EntityState.Modified</code>.  This all works great.</p>
  
  <p>My problem is that this method does not work to track changes to collections of EF objects (for instance, an <code>ICollection&lt;Person&gt;</code> property on a <code>PersonGroup</code> object).</p>
  
  <p>I'm sure the EF context must track this somehow -- how else would the database update work, after all?  But is it available to me?</p>