Базовое наследование данных против наследования

у меня есть некоторые проблемы с основными данными, поэтому я надеюсь, что кто-то сможет мне помочь :)

Первая проблема, у меня есть модель данных, которая выглядит следующим образом:

 Entity P (A) <----> Entity R
  / | \
 / /\ \ 
/ / | \ \
C D E F G

Все мои сущности наследуются от одной и той же сущности "P" потому что им нужен общий атрибут и общие отношения («A» и «R»)

Проблема, которую я получаю, заключается в том, что при использовании наследования базовые данные генерируют только одну таблицу sqlite для всех сущностей. В моем случае это означает, что в моей базе данных будет только 1 таблица для всех данных. Я провел некоторое исследование и увидел, что это создает проблемы с производительностью (более того, все атрибуты моих сущностей являются переходными процессами, и во время willSave их значения объединяются + зашифровываются в один NSData, сохраненный в «A» », поэтому я не смогу использовать предикат для фильтровать и улучшать производительность SELECT). Поэтому я решил удалить «P» и добавить «A» в "C", "D" ..., "G". Проблема в «R», потому что раньше у меня было только одно обратное отношение, и теперь мне нужно создавать его каждый раз, когда я создаю новый тип сущности. Так что я хотел бы удалить все обратные отношения, это возможно? Иногда мне нужно создать управляемый объект с нулевым контекстом, и я вставляю их в контекст позже, возможно, поэтому обратные отношения не устанавливаются автоматически базовыми данными, если я устанавливаю неинверсию перед вставкой в MOC, верно? В любом случае, мне никогда не нужно обратное, поэтому я могу избежать их определения, даже если я получу предупреждение?

2-я проблема, в определенных ситуациях мне нужно создать новый & quot; R & quot; и назначить его «C», «D», .., «G»; во время сохранения MOC. Поэтому я хотел бы использовать willSave, но я не знаю, будет ли сохраненный объект сохранен. Если MOC выполняет простой цикл над & quot; insertObjects & quot; / & quot; updatedObjects & quot; / & quot; удаленные объекты \ ", и для каждого объекта, который он вызывает willSave, выполняет сохранение, а затем вызывает didSave, это означает, что я собираюсь изменить массив, для которого выполняется итерация, и после этого должен произойти сбой no?

Ответы на вопрос(2)

Ваш ответ на вопрос