我有一个核心数据模型,有三个实体:A、B和C.A与B有着一对一的关系,B与C有着许多对手的关系。 A->的删除规则;B为“Cascade”,B为“No Action”。 B->的删除规则;C是“无行动”,C->B是“不行动”。
我在某个实体中很难删除。 我想做的是:
- I delete an instance of A (using
deleteObject:
) - The delete propagates to any B s associated with A (due to the "Cascade" delete rule)
- All B s associated with A are deleted
- Any relationships belonging to C s whose associated B s were deleted, are also removed
这可能是一个小小的混淆,因此,请允许我指出: 在删除A时,删除所有相关的B条。 凡是提到这些B的C,都不得再提及它们。
在我的测试中,我看不到“学校”完全删除了我的规则工作。 在我删除A时,我随即援引<代码>待处理<>代码/代码>(确保删除)。 然后,我比较了在删除之前和之后列入NSManagedObjectContext的A s和Bs。 A的例子已适当删除(A总数少于删除之前)。 然而,B号数保持不变。 因此,“学校”删除规则似乎没有得到遵守。
我知道,我可以人工地通过A-> B关系,并人工删除B。 然而,这似乎是一种免费提供的核心数据,因此我不想这样做,除非核心数据不足。 欢迎关于使用“学校”删除规则的任何信息。