Core Data删除规则作用方向咨询及关联场景逻辑判断
Core Data 删除规则作用方向及场景判断
核心逻辑:删除规则的生效时机
删除规则是挂在某实体的关系属性上,当这个实体自己被删除时,对它关联的实体执行对应规则。举个直白的例子:
- 要是在
JournalEntry的transactions(一对多指向Transaction)关系上设了cascade:删JournalEntry的时候,所有关联的Transaction会跟着被删。 - 要是在
Transaction的journalEntry(一对一反向指向JournalEntry)关系上设了cascade:删Transaction的时候,对应的JournalEntry会被删。
第一张图的逻辑判断
假设这张图的配置是:JournalEntry到Transaction的关系用了cascade规则,而Transaction到JournalEntry的关系没设cascade。那正确的逻辑是:
- ✅ 删除JournalEntry时,所有关联的Transaction均被删除
- ❌ 删除任意一个Transaction时,对应的JournalEntry被删除
第二张图的逻辑判断
假设这张图的配置是:Transaction到JournalEntry的关系用了cascade规则,而JournalEntry到Transaction的关系没设cascade。那正确的逻辑是:
- ❌ 删除JournalEntry时,所有关联的Transaction均被删除
- ✅ 删除Transaction时,对应的JournalEntry被删除
内容的提问来源于stack exchange,提问作者Josh
相关产品推荐
相关产品推荐

