title: Core Data merge conflict when save from second thread
body: <p>I have two entities in my Core Data model.  Entity1 and Entity2.  Entity1 has a one-to-one Relationship that links to Entity2.  When I access/save the entities on a single thread everything works OK.  </p>
  
  <p>Now I'm starting to use a background thread for some processing.  I pass the NSManagedObjectID of my entity1 to my second thread, and also pass the NSPersistentStoreCoordinator to my second thread.  The second thread creates a new managedObjectContext, loads the entity1 using the managedObjectID, and then loads the entity2 using the Relationship from entity1.  This all seems to work, and I can access the entity2.  </p>
  
  <p>However, if I want to change entity2, when I save the changes I get a merge-conflict error "The operation couldn’t be completed. (Cocoa error 133020.)".  Looking at the error message, the only thing different between the "before" and "after" is the Reference of entity2 which is pointing back to entity1.  In this case nothing else is different (I'm saving even though I didn't change other attributes).  This makes sense to me because the entity1 on my thread2 is a different object than the entity1 on my thread1... so the Reference to it must be different.  </p>
  
  <p>So how can I save data from my thread2?  It seems this Reference will always be different between my two threads...  </p>
  
  <p>Any suggestions would be helpful!  Thanks in advance.  </p>