Partilhar via


Gerenciar relacionamentos na API de malha para GraphQL

Um dos recursos mais poderosos do GraphQL é a capacidade de estabelecer relações entre tipos, incluindo suporte para relações um-para-um (1:1), um-para-muitos (1:N) e muitos-para-muitos (M:N).

Criar uma nova relação um-para-um (1:1)

  1. No painel Explorador de esquemas, selecione as reticências ao lado de um tipo e selecione a opção Gerenciar relações. A tela Gerenciar relacionamentos é exibida.

    Captura de ecrã do ecrã Gerir relações, mostrando onde selecionar a opção Nova relação.

  2. Entidade de destino Nova relação. Neste exemplo, criamos uma nova relação um-para-um entre o tipo Product e o tipo ProductModel , com base no campo ProductModelID que existe em ambos os tipos. Selecionamos Um a um para Cardinalidade, selecionamos os tipos De e Para e, em seguida, selecionamos os campos De e Para para esta relação.

    Captura de tela da tela Novo relacionamento, mostrando exemplos de seleções para os cinco campos obrigatórios.

    Nota

    Você pode escolher vários campos nos seletores de campo De e Para. Esse recurso permite que você crie relações que compreendem vários campos.

  3. Selecione Criar relação. Sua lista de relacionamentos agora mostra o relacionamento recém-criado.

    Captura de ecrã do ecrã Gerir relações que mostra a relação recém-criada na lista.

  4. Selecione o X no canto superior direito para fechar a tela Gerenciar relacionamentos .

Relações um-para-muitos (1:N) e muitos-para-muitos (M:N)

Para criar uma relação um-para-muitos (1:N), por exemplo, entre Produto e Pedido, onde cada produto pode ser associado a vários pedidos, selecione Um para muitos como cardinalidade. Esta relação reflete a ideia de que um único produto pode ser associado a várias encomendas, mas cada encomenda está ligada a apenas um produto.

Para uma relação muitos-para-muitos (M:N), como entre Livros e Autores, onde um livro pode ter vários autores e um autor pode ter vários livros, escolha Muitos para Muitos como cardinalidade. Você precisa ter um tipo de vinculação em seu esquema para acomodar esse tipo de relacionamento.

A caixa de diálogo Novo relacionamento mostra outro conjunto de seletores quando você escolhe Muitos para muitos como cardinalidade. No exemplo de Livros e Autores, você selecionaria um tipo de vinculação, como BooksAuthors, e campos como BookId e AuthorId como a vinculação de e para campos.

Captura de ecrã da caixa de diálogo Nova relação para uma relação muitos-para-muitos.

Considerações para relacionamentos muitos-para-muitos

Se o tipo de vinculação contiver um ou mais campos que não são referenciados como campo(s) De ou campo(s) Para, a API para GraphQL gerará automaticamente quatro relações um-para-muitos, da seguinte maneira:

  • Uma relação um-para-muitos do tipo De para o tipo Vinculação
  • Uma relação um-para-muitos do tipo Vinculação para o tipo De
  • Uma relação um-para-muitos do tipo Para para o tipo Vinculação
  • Uma relação um-para-muitos do tipo Vinculação ao tipo Para

Eles permitem que você faça referência aos campos desvinculados no tipo Vinculação em quaisquer consultas ou mutações, ao mesmo tempo em que permite consultas/mutações que fazem referência às relações em qualquer direção.

Caso não haja campos desvinculados no tipo Vinculação, uma única relação muitos-para-muitos será criada, e quaisquer consultas ou mutações não precisarão fazer referência ao tipo Vinculação para aproveitar a relação.

Excluir um relacionamento

Você pode excluir um relacionamento na tela Gerenciar relacionamentos marcando a caixa de seleção ao lado do relacionamento e, em seguida, selecionando Excluir.