Partager via


Gérer les relations dans l’API Fabric pour GraphQL

L’une des caractéristiques les plus puissantes de GraphQL est la possibilité d’établir des relations entre les types, notamment la prise en charge des relations un-à-un (1:1), un-à-plusieurs (1:N) et plusieurs-à-plusieurs (M:N).

Créer une relation un-à-un (1:1)

  1. Dans le volet Explorateur de schéma, sélectionnez les points de suspension en regard d’un type et sélectionnez l’option Gérer les relations. L’écran Gérer les relations s’affiche.

    Capture d’écran de l’écran Gérer les relations, montrant où sélectionner l’option Nouvelle relation.

  2. Cliquez sur Nouvelle relation. Pour cet exemple, nous créons une relation un-à-un entre le type Produit et le type ProductModel, en fonction du champ ProductModelID qui existe dans les deux types. Nous sélectionnons Un à un pour la cardinalité, sélectionnez les types De et À, puis les champs De et À pour cette relation.

    Capture d’écran de l’écran Nouvelle relation, montrant des exemples de sélections pour les cinq champs obligatoires.

    Remarque

    Vous pouvez choisir plusieurs champs dans les sélecteurs de champs De et À. Cette caractéristique vous permet de créer des relations qui comprennent plusieurs champs.

  3. Sélectionnez Créer une relation. Votre liste de relations affiche maintenant la relation nouvellement créée.

    Capture d’écran de l’écran Gérer les relations montrant la relation nouvellement créée dans la liste.

  4. Sélectionnez le X dans le coin supérieur droit pour fermer l’écran Gérer les relations.

Relations un-à-plusieurs (1:N) et plusieurs-à-plusieurs (M:N)

Pour créer une relation un-à-plusieurs (1:N), par exemple entre Produit et Commande, où chaque produit peut être associé à plusieurs commandes, sélectionnez Un à plusieurs comme cardinalité. Cette relation reflète l’idée qu’un seul produit peut être lié à plusieurs commandes, mais chaque commande est liée à un seul produit.

Pour une relation plusieurs-à-plusieurs (M:N), comme celle entre les Livres et Auteurs, dans laquelle un livre peut avoir plusieurs auteurs et un auteur peut avoir plusieurs livres, choisissez Plusieurs à plusieurs comme cardinalité. Vous devez disposer d’un type de liaison dans votre schéma pour prendre en charge ce type de relation.

La boîte de dialogue Nouvelle relation affiche un autre ensemble de sélecteurs lorsque vous choisissez Plusieurs-à-plusieurs comme cardinalité. Dans l’exemple de Livres et Auteurs, vous devez sélectionner un type de liaison comme BooksAuthors, et des champs comme BookId et AuthorId comme liaison depuis et vers des champs.

Capture d’écran de la boîte de dialogue Nouvelle relation pour une relation plusieurs à plusieurs.

Considérations pour les relations plusieurs-à-plusieurs

Si votre type de liaison contient un ou plusieurs champs qui ne sont pas référencés comme Champs De ou Champs À, l’API pour GraphQL génère automatiquement quatre relations un-à-plusieurs, comme suit :

  • Relation un-à-plusieurs du type De au type de liaison
  • Relation un-à-plusieurs du type de liaison au type De
  • Relation un-à-plusieurs du type À au type de liaison
  • Relation un-à-plusieurs du type de liaison au type À

Ces relations vous permettent de référencer les champs dissociés dans le type de liaison dans toutes les requêtes ou mutations, tout en autorisant les requêtes/mutations qui référencent les relations dans n’importe quelle direction.

S’il n’existe pas de champs dissociés dans le type de liaison, une seule relation plusieurs à plusieurs sera créée et les requêtes ou les mutations ne devront pas faire référence au type de liaison pour tirer profit de la relation.

Supprimer une relation

Vous pouvez supprimer une relation à partir de l’écran Gérer les relations en cochant la case située en regard de la relation, puis en sélectionnant Supprimer.