我的核心数据存在问题。这种情况会出现问题:
-I have two entities, for instance "Department" and "Employee".
-A to-many relationship from "Department" to "Employee"
当我生成模型时,会生成两个类:“Department”和“Employee”。 “部门”类有一个员工的“NSSet”感谢多对子关系。
在代码中,我创建了两个“Department”实例(d1,d2)和一个“Employee”(e1)。 我希望e1实例可以在d1和d2中(通过关系)。所以我做了类似的事情:
[d1 addEmployeeObject:e1 ];
[d2 addEmployeeObject:e1 ];
问题在于,当我重新启动应用程序时,e1在d1中不再存在(仅在d2中)。似乎核心数据自动从d1中删除了e1。但我不想要那个!!!
根据核心数据documentation,它似乎是适当的行为(在上面的链接中读取操纵关系和对象图完整性章节)。
我该如何防止这种行为?有什么想法吗?
感谢阅读, 真的希望我已经清楚了。
答案 0 :(得分:2)
建立一个名为Departments的反向关系,一个从Employee到Department的多对多关系。
将“Departments”的反面标记为“Employees”,其中“Employees”是从Department到Employee的to-many。
当您生成类时,您应该看到Department有一个NSSet *员工,而Employee有一个NSSet *部门。