0

次のような CoreData モデルがあります。

  • 抽象エンティティ
    • エンティティ 1
    • エンティティ 2
      • エンティティ 3

「抽象エンティティ」は、階層の最上位エンティティです。「エンティティ 1」と「エンティティ 2」は、「抽象エンティティ」のピア サブエンティティです。「Entity 3」は「Entity 2」のサブエンティティです。

アプリは App Store で公開されているため、モデルを修正する場合は既存のデータをすべて保持する必要があります。残念ながら、モデル階層を次のように再配置する必要があります。

  • 抽象エンティティ
    • エンティティ 2
      • エンティティ 3
        • エンティティ 1

新しい「Entity 4」エンティティを作成し、すべての「Entity 1」データを「Entity 4」形式に変換する関数を作成することを伴わずに、これを達成する方法はありますか? 次のような下品なヒエラルキーにはなりたくありません。

  • 抽象エンティティ
    • エンティティ 1
    • エンティティ 2
      • エンティティ 3
        • エンティティ 4

上記を回避するために私が思いついた唯一の方法は、必要なすべてのプロパティをエンティティ 2 と 3 から 1 にコピーし、階層の問題を完全に無視することです。これは悪い解決策です。

4

1 に答える 1

1

よく読んで、カスタムマッピングモデルを作成することをお勧めします。

于 2012-09-28T19:24:15.477 に答える