2012-04-10 11 views
0

Ich habe zwei Eigenschaften: Folder und Picture. A Folder kann viele Pictures haben, und ein Picture kann zu vielen Folders gehören. Es gibt jedoch eine Folder genannte All, die alle pictures zu einem beliebigen gehörenden Gerät enthält. So ist die Folder Einheit hat eine n-Beziehung mit Picture, so dass jeder Folder eine NSSet von Pictures hat, und auch jede Picture hat eine NSSet von Folders. Die AllFolder enthält alle Pictures, aber ich möchte keine Picture die AllFolder als eine ihrer Folders haben.Modellierung einer Beziehung zu vielen Beziehungen Kerndaten

Zeit mit der Art und Weise meines Modell eingerichtet ist, wenn ich ein Picture zum All Folder hinzufügen, wird die All Folder automatisch hinzugefügt, um die Picture NSSet von Folders, die ich nicht will. Ich denke, das passiert, weil ich die beiden Beziehungen als Inverse zueinander habe. Aber wenn ich die umgekehrte Option nicht auswähle, beginnen meine Picture-Entities nur mit einem Folder anstelle von vielen.

Die Frage ist: Wie kann ich meine Einheiten modellieren, so dass ein Folder viele Pictures haben kann, und Pictures viele Folders haben kann, aber wenn ich einen Picture zu einem Folder hinzufügen, sollte es nicht unbedingt bedeuten, dass die Folder ist hinzugefügt zu Picture.

Hier ist mein aktuelles Modell:

Picture: 
Relationship: Folder 
Destination: Folder 
Inverse: Picture 
Plural: To-Many Relationship 

Folder: 
Relationship: Picture 
Destination: Picture 
Inverse: Folder 
Plural: To-Many Relationship 

Antwort

1

Warum brauchen Sie ein All-Ordner überhaupt? Ist "Alle" eine eigene Entität oder handelt es sich um eine Ordner-Entität mit einer Art All-Kennung?

In jedem Fall, wenn Sie alles, was Sie wollen, um alle Bilder in einem beliebigen Ordner zu greifen, können Sie das ziemlich einfach mit einer Abrufanforderung tun. Sie brauchen Ihr Objektdiagramm nicht mit einer zusätzlichen Entität oder Beziehung zu vermischen.

+0

Nein alles ist keine zusätzliche Entität, es ist nur ein Ordner-Objekt namens Alle – Snowman

+0

Dann warum können Sie nicht einfach alle Ihre Bilder holen? Wenn Sie alle Bilder abrufen, erhalten Sie alle Bilder für jeden Ordner. Sie können Ihre Funktionen auch für alle Bilder in einem bestimmten Ordner oder Ordner verfeinern. – jmstone617

+0

So kann ich leicht wissen, wie viele einzigartige Bildobjekte es gibt. Gibt es eine Möglichkeit, herauszufinden, wie viele Picture-Entities ich insgesamt habe, und wird diese Nummer automatisch aktualisiert, wenn Bilder hinzugefügt oder entfernt werden? – Snowman

Verwandte Themen