From cbd6c1818e5183f9d1a917e327c8f5564d5d1e28 Mon Sep 17 00:00:00 2001 From: Justin Bergen Date: Thu, 9 Aug 2012 23:31:43 -0600 Subject: [PATCH] When creating a missing mapped related entity, set the primary key. --- .../NSManagedObject/NSManagedObject+MagicalDataImport.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalDataImport.m b/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalDataImport.m index f56a55caf..187d26f9e 100644 --- a/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalDataImport.m +++ b/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalDataImport.m @@ -212,6 +212,9 @@ - (BOOL) MR_importValuesForKeysWithObject:(id)objectData { NSEntityDescription *entityDescription = [relationshipInfo destinationEntity]; relatedObject = [entityDescription MR_createInstanceInContext:[self managedObjectContext]]; + NSString *primaryKey = [relationshipInfo MR_primaryKey]; + id relatedValue = [localObjectData MR_relatedValueForRelationship:relationshipInfo]; + [relatedObject setValue:relatedValue forKey:primaryKey]; } [relatedObject MR_importValuesForKeysWithObject:localObjectData]; @@ -231,6 +234,7 @@ + (id) MR_importFromObject:(id)objectData inContext:(NSManagedObjectContext *)co if (managedObject == nil) { managedObject = [self MR_createInContext:context]; + [managedObject setValue:value forKey:[primaryAttribute name]]; } [managedObject MR_importValuesForKeysWithObject:objectData];