У меня есть базовая модель данных с 2 сущностями: Коллекция и Изображение. Между коллекцией и изображением существует отношение один ко многим, что отражается с помощью метода доступа к изображениям на стороне коллекции и доступа к коллекции на стороне изображения.
Существует дополнительное отношение, называемое keyImage, которое представляет собой соотношение 1: 1 между коллекцией и изображением. Одним из изображений в коллекции является ключевое изображение, и я смоделировал это, создав дополнительные отношения 1: 1. У этого есть метод доступа, называемый keyImage в Collection и isKeyImageFor в Image.
Я могу работать с этой моделью в основном нормально, но есть одна вещь, которая не работает.
// Add an image as the key image.
coll.keyImage = keyImage;
// Add the image to the collection
[coll addImagesObject:keyImage];
Обе эти строки работают независимо. Однако, если я сделаю и то, и другое (изображение должно быть в коллекции и назначено в качестве keyImage), то keyImage в конечном итоге будет нулевым после сохранения данных. Это как если бы отношение 1: N обнуляет отношение 1: 1, даже если они используют отдельные ключи и методы доступа.
Есть идеи, как мне заставить это работать?