CJ.*_*CJ. 15 cocoa cascade core-data data-modeling
我有一个核心数据模型,它有三个实体:A,B和C.A与B有一对多的关系,B与C有多对多的关系.A的删除规则 - > B是"Cascade",B - > A是"No Action".B - > C的删除规则是"No Action",C - > B是"Deny".
我在A实体上执行删除时遇到问题.我想要发生的是以下内容:
deleteObject:)这可能有点令人困惑,所以让我解释一下:当删除A时,删除所有关联的B.任何引用那些B的C都不能再引用它们了.
在我的测试中,我没有看到"Cascade"删除规则对我起作用.当我删除A时,我会processPendingChanges立即调用(只是为了确保删除已完成).然后我比较删除之前和之后NSManagedObjectContext中A和B的数量.A的实例已被正确删除,(总A的数量现在比删除前少一个).但是,B的数量保持不变.因此,似乎没有尊重"级联"删除规则.
我知道我可以手动完成A - > B关系,并手动删除每个B.然而,看起来这是Core Data免费提供的东西,所以除非Core Data不足,否则我不想这样做.有关使用"级联"删除规则的任何信息都是受欢迎的.
| 归档时间: |
|
| 查看次数: |
13818 次 |
| 最近记录: |