0

如何处理以下对象的删除?我的删除规则应该是什么样的?

这是我的对象图的样子:

老板

  • Boss-Department 是多对多的关系
  • 如果一个 Boss 被删除,属于该 Boss 的部门不应删除(但部门与该 Boss 的关系应该被删除)

部门

  • 部门-员工具有多对多关系
  • 部门-老板是多对多的关系
  • 如果一个部门被删除,属于该部门的员工如果与任何其他部门没有关系,则应该被删除

员工

  • Employee-Department 是多对多的关系
  • 员工永远不会被直接删除(仅通过删除部门)。哦,幸福的生活!
4

1 回答 1

0

在这种情况下,您的对象的删除规则应该像这样处理

Boss-Department -> 无效化

部门-员工-> 拒绝

部门-老板->无效

以下是 Apple 将删除规则解释为

拒绝:如果关系目的地至少有一个对象,则无法删除源对象。例如,如果您要删除一个部门,您必须确保该部门的所有员工都首先转移到其他地方(或解雇!)否则无法删除该部门。

Nullify:将目标对象的反向关系设置为空。例如,如果您删除一个部门,请将所有当前成员的部门设置为空。仅当员工的部门关系是可选的,或者您确保在下一次保存操作之前为每个员工设置了一个新部门时,这才有意义。

级联:删除关系目的地的对象。例如,如果您删除一个部门,请同时解雇该部门的所有员工。

无操作:对关系目标处的对象不执行任何操作。例如,如果您删除一个部门,请让所有员工保持原样,即使他们仍然认为自己属于该部门。

有关更多信息,请查看CoreData 编程指南

于 2012-02-07T01:31:30.463 回答