Базовые данные и «похожая» функциональность между сущностями - PullRequest
1 голос
/ 01 февраля 2012

Я собираюсь реализовать функциональность , подобную , между сущностью User и некоторой другой сущностью, так что пользователь A может подобен сущности XОднако я не уверен, как лучше всего реализовать это в Core Data.

Есть два основных момента, которые я должен рассмотреть:

  • Добавление еще одного симпатичного сущность должна быть тривиальной
  • Должен быть способ синхронизации Like, который был выполнен в автономном режиме

Сначала я хотел создать abstract Базовая сущность данных Like.

A User имеет отношение ко многим с Like, а Like имеет одну User.

Тогда для каждой сущностиэто должно быть likeable , я создаю подкласс Like, который имеет отношение «один к одному» с likeable .Отношение к User наследуется.

Таким образом, абстрактная сущность Like может иметь такие атрибуты, как "syncedAt" и "deleAt", чтобы можно было определить, является ли тип Likeобъект был синхронизирован с сервером или нет.

Это звучит разумно или есть более эффективные способы решения этой проблемы в Core Data?Есть ли недостатки этого дизайна, которые я не предвидел?

1 Ответ

0 голосов
/ 01 февраля 2012

почему бы не иметь родительскую сущность LikableEntity, от которой наследуются ваши симпатичные сущности: это может иметь атрибуты synchedAt.Ваш пользователь имеет отношение ко многим likedEntities, которое содержит все, что ему понравилось

...