Condividi tramite


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)

  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.

    Screenshot della schermata Gestisci relazioni che mostra dove selezionare l'opzione Nuova relazione.

  2. 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.

    Screenshot della schermata Nuova relazione che mostra esempi di selezioni per i cinque campi obbligatori.

    Nota

    È possibile scegliere più campi nelli selezione dei campi Da e A. Questa funzionalità consente di creare relazioni che comprendono più campi.

  3. Selezionare Crea relazione. L'elenco di relazioni ora mostra la relazione appena creata.

    Screenshot della schermata Gestisci relazioni che mostra la relazione appena creata nell'elenco.

  4. 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.

Screenshot della finestra di dialogo Nuova relazione per una relazione molti-a-molti.

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.