Verwalten von Beziehungen in der Fabric API für GraphQL
Eines der leistungsstärksten Features in GraphQL ist die Möglichkeit, Beziehungen zwischen Typen einzurichten, einschließlich der Unterstützung für 1:1-Beziehungen (1:1), 1:n (1:N) und m:n-Beziehungen (M:N).
So erstellen Sie eine neue 1:n-Beziehung:
Wählen Sie im Bereich "Schema-Explorer " die Auslassungspunkte neben einem Typ aus, und wählen Sie die Option "Beziehungen verwalten" aus. Der Bildschirm "Beziehungen verwalten" wird angezeigt.
Wählen Sie Neue Beziehung aus. In diesem Beispiel erstellen wir eine neue 1:1-Beziehung zwischen dem Produkttyp und dem ProductModel-Typ , basierend auf dem Feld "ProductModelID ", das in beiden Typen vorhanden ist. Wir wählen "Ein" für "Kardinalität" aus, wählen die Typen "Von" und "An" und dann die Felder "Von" und "An" für diese Beziehung aus.
Hinweis
Sie können mehrere Felder in den Auswahlfeldern "Von" und "An" auswählen. Mit diesem Feature können Sie Beziehungen erstellen, die mehrere Felder umfassen.
Wählen Sie Beziehung aktualisieren aus. Ihre Liste der Beziehungen zeigt nun die neu erstellte Beziehung an.
Wählen Sie das X in der oberen rechten Ecke aus, um den Bildschirm "Beziehungen verwalten" zu schließen.
1:1-, 1:n- und m:n-Beziehungen
Wenn Sie beispielsweise eine 1:n-Beziehung (1:N) zwischen "Produkt" und "Bestellung" erstellen möchten, wobei jedes Produkt mehreren Bestellungen zugeordnet werden kann, wählen Sie "1 bis n" als Karte inalität aus. Diese Beziehung spiegelt die Idee wider, dass ein einzelnes Produkt mit mehreren Bestellungen verknüpft werden kann, aber jede Bestellung ist nur mit einem Produkt verknüpft.
Für eine m:n-Beziehung (M:N), z. B. zwischen Büchern und Autoren, bei denen ein Buch mehrere Autoren haben kann und ein Autor mehrere Bücher haben kann, wählen Sie "Many to Many" als die Karte inalität aus. Sie müssen über einen Verknüpfungstyp in Ihrem Schema verfügen, um diese Art von Beziehung aufzunehmen.
Im Dialogfeld "Neue Beziehung" wird eine weitere Auswahl angezeigt, wenn Sie "n:n" als Karte inalität auswählen. Im Beispiel für Bücher und Autoren würden Sie einen Verknüpfungstyp wie BooksAuthors und Felder wie BookId und AuthorId als Verknüpfung von und zu Feldern auswählen.
Einfachere Konfiguration für n:n-Beziehungen
Wenn Ihr Verknüpfungstyp mindestens ein Feld enthält, auf das nicht als From-Feld(n) oder "An"-Felder verwiesen wird, generiert die API für GraphQL automatisch vier 1:n-Beziehungen wie folgt:
- Eine 1:n-Beziehung vom Typ von zum Verknüpfungstyp
- Eine 1:n-Beziehung vom Typ Verknüpfung zum Typ von
- Eine 1:n-Beziehung vom Typ an zum Verknüpfungstyp
- Eine 1:n-Beziehung vom Verknüpfungstyp zum Typ an
Auf diese Weise können Sie auf die nicht verknüpften Felder im Verknüpfungstyp in allen Abfragen oder Mutationen verweisen und gleichzeitig Abfragen/Mutationen zulassen, die auf die Beziehungen in beliebiger Richtung verweisen.
Wenn im Verknüpfungstyp keine nicht verknüpften Felder vorhanden sind, wird eine einzelne n:n-Beziehung erstellt, und alle Abfragen oder Mutationen müssen nicht auf den Verknüpfungstyp verweisen, um die Beziehung zu nutzen.
Beziehung löschen
Sie können eine Beziehung über den Bildschirm "Beziehungen verwalten" löschen, indem Sie das Kontrollkästchen neben der Beziehung aktivieren und dann "Löschen" auswählen.