2012-09-28 56 views
0

我有一个CoreData模型,看起来像这样:更改CoreData实体层次

  • 抽象的实体
    • 实体1
    • 实体2
      • 实体3

“抽象实体”是层次结构中的顶层实体。 “实体1”和“实体2”是“抽象实体”的对等子实体。 “实体3”是“实体2”的子实体。

该应用程序在App Store中生效,因此对该模型的任何修改都必须保留所有现有数据。不幸的是,我现在需要重新安排模型分级看起来像这样:

  • 抽象的实体
    • 实体2
      • 实体3
        • 实体1

有没有什么办法可以实现这一点,不涉及创建一个新的“实体4”实体,并写一个将所有的“实体1”数据转换为“实体4”格式的函数?

  • 抽象的实体
    • 实体1
    • 实体2
      • 实体3
        • 实体4
      • :我宁愿不与这些混沌层次这样结束了

我想出了避免上述问题的唯一方法是将实体2和3需要的所有属性复制到1中,并完全忽略层次结构问题,这是一个不好的解决方案。

回答