在 Fabric API for GraphQL 中管理关系

GraphQL 允许跨类型建立关系,包括一对一(1:1)、一对多(1:N)和多对多(M:N)关系。

创建新的一对一关系

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

    显示“管理关系”窗格中选择新关系的位置的屏幕截图。

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

    显示新关系的五个必填字段的选择示例的屏幕截图。

注意

可以在“发件人”和“到”字段选取器中选择多个字段。 使用此功能可以创建包含多个字段的关系。

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

    显示“管理关系”窗格中新创建的关系的屏幕截图。

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

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

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

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

选择多对多作为基数时,“新建关系”对话框会显示另一组选取器。 例如,在 BooksAuthor 中,选择一个链接类型(如 BooksAuthors),以及 BookId 和 AuthorId 等字段作为链接来源和字段。

新关系对话框的屏幕截图,用于多对多关系。

多对多关系的注意事项

如果链接类型包含一个或多个未作为 From field(s) 或 To field(s) 引用的 字段,则 GraphQL 的 API 将自动生成以下四个一对多关系:

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

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

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

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

通过这些方法,可以在任何查询或突变中引用链接类型的未链接字段,并允许查询或突变在任何方向引用关系。

如果链接类型中没有未链接的字段,则会创建一个多对多关系,并且查询或突变不需要引用链接类型即可使用该关系。

删除关系

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