Nella maggior parte dei casi, si desidera creare una relazione inversa.
Le relazioni inverse rendono più semplice l'integrità del grafico di mantenimento e, soprattutto, le relazioni inverse riflettono le relazioni del mondo reale tra gli oggetti, gli eventi o le condizioni simulate dal modello. Il punto di un oggetto grafico non è solo la mera memorizzazione di bit di dati, ma anche la modellazione attiva delle relazioni tra le diverse parti di quei dati. Nei Core Data, le relazioni stesse sono dati attivi.
Nel mondo reale, le foto vengono scattate in posizioni e inversamente alcune località hanno foto scattate in esse. Una relazione inversa modellerebbe quella realtà e ti darà la possibilità di cercare le foto in base alle loro posizioni.
Non sono d'accordo sul fatto che non si debba usare una relazione inversa tra molti luoghi e foto. Non ha nulla a che fare con il risparmio di memoria o archiviazione. I modelli dovrebbero riflettere la realtà e le relazioni sono esse stesse dei dati. In questo caso, molte foto possono essere scattate nella stessa posizione e potresti voler scegliere una posizione e trovare tutte le foto scattate lì. Le relazioni nel modello dovrebbero riflettere questo collegamento reale il più vicino possibile. – TechZen
È un punto di vista ragionevole, ma come si decide quali posizioni sono "uguali"? Pensaci con l'obiettivo di individuare un punto di riferimento o di ricreare una fotografia e vedi che ogni arrotondamento è meglio lasciare a una query configurabile. Meglio forse mantenere la Location come entità esatta 1: 1 con Photo e aggiungere un'entità Region con span attributo (diametro in metri) e centro, che può avere molte Locations. –