Delen via


Relaties beheren in Fabric-API voor GraphQL

Een van de krachtigste functies in GraphQL is de mogelijkheid om relaties tot stand te brengen tussen verschillende typen, waaronder ondersteuning voor een-op-een (1:1), een-op-veel -relaties (1:N) en veel-op-veel -relaties (M:N).

Een nieuwe een-op-een-relatie (1:1) maken

  1. Selecteer in het deelvenster Schemaverkenner het beletselteken naast een type en selecteer de optie Relaties beheren. Het scherm Relaties beheren wordt weergegeven.

    Schermopname van het scherm Relaties beheren, waarin wordt weergegeven waar u de optie Nieuwe relatie kunt selecteren.

  2. Selecteer Nieuwe relatie. In dit voorbeeld maken we een nieuwe een-op-een-relatie tussen het producttype en het productmodeltype, op basis van het veld ProductModelID dat in beide typen bestaat. We selecteren er een voor kardinaliteit, selecteer de typen Van en Aan en selecteer vervolgens de velden Van en Aan voor deze relatie.

    Schermopname van het scherm Nieuwe relatie, met voorbeelden van selecties voor de vijf vereiste velden.

    Notitie

    U kunt meerdere velden kiezen in de veldkiezers Van en Aan. Met deze functie kunt u relaties maken die uit meerdere velden bestaan.

  3. Selecteer Relatie maken. In uw lijst met relaties wordt nu de zojuist gemaakte relatie weergegeven.

    Schermopname van het scherm Relaties beheren met de zojuist gemaakte relatie in de lijst.

  4. Selecteer de X in de rechterbovenhoek om het scherm Relaties beheren te sluiten.

Een-op-veel-relaties (1:N) en veel-op-veel-relaties (M:N)

Als u een een-op-veel-relatie (1:N) wilt maken, bijvoorbeeld tussen Product en Order, waarbij elk product aan meerdere orders kan worden gekoppeld, selecteert u één tot veel als de kardinaliteit. Deze relatie weerspiegelt het idee dat één product kan worden gekoppeld aan meerdere orders, maar elke bestelling is gekoppeld aan slechts één product.

Voor een veel-op-veel-relatie (M:N), zoals tussen Boeken en Auteurs, waarbij een boek meerdere auteurs kan hebben en een auteur meerdere boeken kan hebben, kiest u Veel op Veel als de kardinaliteit. U moet een koppelingstype in uw schema hebben om tegemoet te komen aan dit soort relaties.

In het dialoogvenster Nieuwe relatie ziet u een andere set kiezers wanneer u Veel-op-veel kiest als de kardinaliteit. In het voorbeeld van Boeken en Auteurs selecteert u een koppelingstype zoals BooksAuthors en velden zoals BookId en AuthorId als koppeling van en naar velden.

Schermopname van het dialoogvenster Nieuwe relatie voor een veel-op-veel-relatie.

Overwegingen voor veel-op-veel-relaties

Als uw koppelingstype een of meer velden bevat waarnaar niet wordt verwezen als Veld(en) of Aan-veld(en), genereert API voor GraphQL als volgt vier een-op-veel-relaties:

  • Een een-op-veel-relatie van het type Van naar het koppelingstype
  • Een een-op-veel-relatie van het koppelingstype naar het van-type
  • Een een-op-veel-relatie van het type Aan naar het koppelingstype
  • Een een-op-veel-relatie van het koppelingstype naar het type Aan

Hiermee kunt u verwijzen naar de niet-gekoppelde velden in het koppelingstype in alle query's of mutaties, terwijl u ook query's/mutaties toestaat die verwijzen naar de relaties in elke richting.

In het geval er geen niet-gekoppelde velden in het koppelingstype zijn, wordt er één veel-op-veel-relatie gemaakt en hoeven query's of mutaties niet te verwijzen naar het koppelingstype om gebruik te maken van de relatie.

Een relatie verwijderen

U kunt een relatie verwijderen uit het scherm Relaties beheren door het selectievakje naast de relatie in te schakelen en vervolgens Verwijderen te selecteren.