在 Fabric API for GraphQL 中管理关系

GraphQL 最强大的功能之一是能够跨类型建立关系,包括支持一对一 (1:1)、一对多 (1:N) 和多对多 (M:N) 关系。

创建新的一对一 (1:1) 关系

  1. 架构资源管理器窗格中,选择类型旁边的省略号,然后选择“管理关系”选项。 此时将显示管理关系屏幕。

    “管理关系”屏幕的屏幕截图,其中显示了选择“新建关系”选项的位置。

  2. 选择“新建关系”。 在本示例中,我们基于 Product 类型和 ProductModel 类型中都存在的 ProductModelID 字段,在这两种类型之间创建新的一对一关系。 我们选择“一对一”作为基数,选择“来源”和“目标”类型,然后为此关系选择“来源”和“目标”字段。

    “新建关系”屏幕的屏幕截图,其中显示了五个必填字段的选择示例。

    注意

    可在“来源”和“目标”字段选取器中选择多个字段。 此功能允许创建包含多个字段的关系。

  3. 选择“创建关系”。 现在,关系列表会显示新创建的关系。

    “管理关系”屏幕的屏幕截图,其中显示了列表中新创建的关系。

  4. 选择右上角的 X 以关闭管理关系屏幕。

一对多 (1:N) 和多对多 (M:N) 关系

例如,若要在产品订单之间创建一对多 (1: N) 关系,其中每个产品可以与多个订单关联,请选择“一对多”作为基数。 这种关系反映了这样一种想法:单个产品可以链接到多个订单,但每个订单只能链接到一个产品。

对于多对多 (M:N) 关系,例如书籍作者之间,一本书可以有多个作者,一个作者可以有多本书,请选择“多对多”作为基数。 架构中需要有一个链接类型来适应这种关系。

当选择“多对多”作为基数时,新建关系对话框将显示另一组选取器。 在书籍作者示例中,可以选择链接类型(如 BooksAuthors)和字段(如 BookIdAuthorId)作为链接“来源”和“目标”字段。

“新建关系”对话框的屏幕截图,其中显示了多对多关系。

多对多关系的注意事项

如果链接类型包含一个或多个未作为来源字段目标字段的字段,则 API for GraphQL 会自动生成四个一对多关系,如下所示:

  • 来源类型链接类型的一对多关系
  • 链接类型来源类型的一对多关系
  • 目标类型链接类型的一对多关系
  • 链接类型目标类型的一对多关系

这关系允许在任何查询或突变中引用链接类型中的取消链接字段,同时允许在任何方向引用关系的查询/突变。

如果链接类型中没有取消链接字段,则将创建单一的多对多关系,并且任何查询或突变都不需要引用链接类型来利用该关系。

删除关系

可通过选择关系旁边的复选框,然后选择“删除”,从管理关系屏幕中删除关系。