Gestire relazioni nell'API Fabric per GraphQL
Una delle funzionalità più potenti di GraphQL è la possibilità di stabilire relazioni tra tipi, incluso il supporto per relazioni uno-a-uno (1:1), uno-a-molti (1:N) e molti-a-molti (M:N).
Creare una nuova relazione uno-a-uno (1:1)
Nel riquadro Esplora schema, selezionare i puntini di sospensione accanto a un tipo e selezionare l'opzione Gestisci relazioni. Appare la schermata Gestisci relazioni.
Seleziona Nuova relazione. Per questo esempio viene creata una nuova relazione uno-a-uno tra il tipo Product e il tipo ProductModel, in base al campo ProductModelID esistente in entrambi i tipi. Selezionare Uno a uno per Cardinalità, selezionare i tipi Da e A e quindi selezionare i campi Da e A per questa relazione.
Nota
È possibile scegliere più campi nelli selezione dei campi Da e A. Questa funzionalità consente di creare relazioni che comprendono più campi.
Selezionare Crea relazione. L'elenco di relazioni ora mostra la relazione appena creata.
Selezionare la X nell'angolo superiore destro per chiudere la schermata Gestisci relazioni.
Relazioni uno-a-molti (1:N) e molti-a-molti (M:N)
Per creare una relazione uno-a-molti (1:N), ad esempio tra Product e Order, in cui ogni prodotto può essere associato a più ordini, selezionare Uno a molti come cardinalità. Questa relazione riflette l'idea che un singolo prodotto possa essere collegato a più ordini, ma ogni ordine è collegato a un solo prodotto.
Per una relazione molti-a-molti (M:N), ad esempio tra Books e Authors, in cui un libro può avere più autori e un autore può avere più libri, scegliere Molti a molti come cardinalità. Per supportare questo tipo di relazione, è necessario avere un tipo di collegamento nello schema.
La finestra di dialogo Nuova relazione mostra un’altra serie di selezioni quando si sceglie Molti-a-molti come cardinalità. Nell'esempio di Books e Authors è necessario selezionare un tipo di collegamento, ad esempio BooksAuthors, e campi come BookId e AuthorId come collegamento di campi Da e A.
Considerazioni per le relazioni molti-a-molti
Se il tipo di collegamento contiene uno o più campi a cui non viene fatto riferimento come Campi Da o Campi A, l'API per GraphQL genera automaticamente quattro relazioni uno-a-molti, come indicato di seguito:
- Una relazione uno-a-molti dal tipo Da al tipo collegamento
- Una relazione uno-a-molti dal tipo collegamento al tipo Da
- Una relazione uno-a-molti dal tipo A e il tipo collegamento
- Una relazione uno-a-molti dal tipo collegamentoal tipo A
Queste consentono di fare riferimento ai campi non collegati nel tipo collegamento in qualsiasi query o mutazione, consentendo anche query/mutazioni che fanno riferimento alle relazioni in qualsiasi direzione.
Nel caso in cui non esistono campi non collegati nel tipo collegamento, verrà creata una singola relazione molti-a-molti e qualsiasi query o mutazione non dovrà fare riferimento al tipo collegamento per sfruttare la relazione.
Eliminazione di una relazione
È possibile eliminare una relazione dalla schermata Gestisci relazioni selezionando la casella di controllo accanto alla relazione e quindi selezionando Elimina.