A many-to-many relationship может быть смоделирован в базовых данных. Core Data автоматически создает промежуточную таблицу соединений в хранилище (SQLLite).
То, что вы не можете сделать, это добавить какие-либо атрибуты в эту промежуточную таблицу соединений, поскольку она не является частью модели данных графа объектов.
Чтобы представить количество, вы можете добавить объект-объект к графику объекта, чтобы смоделировать взаимосвязь между несколькими головками, количеством и лекарствами. Это будет точкой поворота, о которой вы думаете, и доза будет работать так же, как и промежуточная таблица соединений, которую создала бы Core Data.
Недостатком является то, что больше нет отношения лекарства в Headache
лица, или головные боли отношения в Medication
сущности.
Если вы действительно хотите поддерживать отношения двух-сущностей «многие-ко-многим», вы можете добавить атрибут дозы к лекарству, но это изменит характер ваших выборок. I.e., вам нужно будет принести все дозы конкретного лекарства, чтобы выяснить, какие головные боли лечились этим лекарством.
Вы должны учитывать конкретные выборки, которые вы выполняете, и как вы планируете пересекать граф объектов, а затем учитывать эти требования в дизайне модели.