Несколько отношений Core Data с одним и тем же объектом

У меня есть модель данных, которую я пытаюсь перенести из структуры таблицы на основе SQLite в модель Core Data. В моей структуре SQLite есть таблица зон и таблица TransitLogs. TransitLog может иметь следующее (в моей схеме sqlite) start_zone_id end_zone_id

Каждый из которых является внешним ключом для таблицы зон. Это отлично работает в SQL. Но при переходе на Core Data мне трудно понять, как это моделировать.

Моя первая попытка привела к тому, что у меня было два отношения в моем TransitLog Entity с атрибутами отношения startZone и endZone, которые указывают на Зону (извините, не удалось опубликовать снимок экрана xcode, поскольку это мой первый пост здесь)

У меня есть вопрос, как обрабатывать обратные отношения для атрибутов отношений startZone и endZone. Они мне не нужны? В документации и книгах, которые я читал по этой теме, лучше всегда использовать обратную зависимость, но мне интересно, в этой конкретной ситуации, если она неприменима. Или я просто неправильно моделирую это в Core Data.

Спасибо за любой совет. тип Arity = Int Тип Аргументы = [Сущность] type Entity = String Это позволило бы создать ...

Рассмотрим следующее

data Predicate = Pred Name Arity Arguments

type Name      = String
type Arity     = Int
type Arguments = [Entity]
type Entity    = String

Это позволит создать

Pred "divides" 2 ["1", "2"]
Pred "between" 3 ["2", "1", "3"]

, но также "незаконный"

Pred "divides" 2 ["1"]
Pred "between" 3 ["2", "3"]

"Illegal", потому что арность не соответствует длина списка аргументов.

Если не использовать такую ​​функцию

makePred :: Name -> Arity -> Arguments -> Maybe Predicate
makePred n a args | a == length args = Just (Pred n a args)
                  | otherwise = Nothing

и экспортировать makePred только из модуля Predicate, есть ли способ обеспечить правильность конструктора значения?

7
задан Nickolay Kolev 27 January 2011 в 07:30
поделиться