【问题标题】:Core-Data: How to Delete Entities in a Relationship核心数据:如何删除关系中的实体
【发布时间】:2010-03-10 16:51:18
【问题描述】:

我在 iPhone 上有一个复杂的核心数据图。一个用户实体有很多其他实体,这些实体相互关联,具有多种关系等......

我的问题是如何在删除用户实体时删除所有相关实体。

提前致谢!

【问题讨论】:

  • “复杂的核心数据结构”是指你有一棵树吗?你再模糊不过了。你在问什么???

标签: iphone core-data data-modeling ios-simulator


【解决方案1】:

在您的用户实体中,将每个关系删除规则设置为“级联”。

另外,请参阅 this answeriPhone Core Data: Cascading delete across a many-to-one relationship

【讨论】:

    【解决方案2】:

    您将用户实体端的delete rule 设置为级联。当用户实体被删除时,与删除规则级联相关的所有其他实体也将被删除。如果它们同样与其他实体有关系,您也可以将这些关系的删除规则设置为级联。当您删除最顶层的节点时,这将删除整个逻辑树。

    例如

    user--(phoneNumbers,Cascade)->>phoneNumber
    user<--(user,nullify)--phoneNumber
    

    删除用户触发删除电话号码,但删除电话号码只是取消与用户的关系。否则用户实体不受影响。

    如果你有一棵树……

    user--(phoneNumbers,Cascade)->>phoneNumber--(phoneNumbers,Cascade)->>areaCodes

    ...然后删除用户会删除其所有电话号码,删除电话号码会导致删除其所有区域代码

    【讨论】:

      猜你喜欢
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多