Gestire le relazioni nell'API infrastruttura per GraphQL
Nota
L'API Microsoft Fabric per GraphQL è disponibile in anteprima.
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 schemi selezionare i puntini di sospensione accanto a un tipo e selezionare l'opzione Gestisci relazioni. Viene visualizzata 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 presente 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 nella selezione campi Da e A. Questa funzionalità consente di creare relazioni che comprendono più campi.
Selezionare Crea relazione. L'elenco di relazioni mostra ora 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 Prodotto e Ordine, 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 libri e autori, 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 disporre di un tipo di collegamento nello schema.
La finestra di dialogo Nuova relazione mostra un altro set di selezione quando si sceglie Molti-a-molti come cardinalità. Nell'esempio di Libri e autori è necessario selezionare un tipo di collegamento, ad esempio BooksAuthors, e campi come BookId e AuthorId come collegamento da e ai campi.
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 A campi, l'API per GraphQL genera automaticamente quattro relazioni uno-a-molti, come indicato di seguito:
- Relazione uno-a-molti dal tipo From al tipo Linking
- Relazione uno-a-molti dal tipo Linking al tipo From
- Relazione uno-a-molti tra il tipo A e il tipo Di collegamento
- Relazione uno-a-molti dal tipo Di collegamento al tipo A
Questi consentono di fare riferimento ai campi non collegati nel tipo di collegamento in qualsiasi query o mutazioni, consentendo anche query/mutazioni che fanno riferimento alle relazioni in qualsiasi direzione.
Nel caso in cui non siano presenti campi scollegati nel tipo Di collegamento, verrà creata una singola relazione molti-a-molti e qualsiasi query o mutazioni non dovrà fare riferimento al tipo Di 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.