在 Fabric API for GraphQL 中管理關聯性
GraphQL 中最強大的功能之一是跨類型建立關聯性的能力,包括支援一對一(1:1)、一對多(1:N)和多對多關係。
建立新的一對一 (1:1) 關係
從 架構總管 窗格中,選取類型旁邊的省略號,然後選取 管理關聯性 選項。 管理關聯性 畫面隨即出現。
選取新增關聯。 在此範例中,我們會根據存在於這兩種類型的 ProductModelID 欄位,在 Product 類型與 ProductModel 類型之間建立新的一對一關聯性。 我們針對基數選取一對一,選取From 和到 類型,然後選取此關聯性的From 和到 字段。
注意
您可以在從 和收件者 字段選擇器中選擇多個字段。 此功能可讓您建立組成多個字段的關聯性。
選取建立關聯性。 您的關聯性清單現在會顯示新建立的關聯性。
選取右上角的 X 以關閉 管理關聯性畫面。
一對多 (1:N) 及多對多 (M:N) 關聯性
例如,若要建立一對多 (1:N) 關聯性,在 Product 與 Order 之間,其中每個產品都可以與多個訂單相關聯,請選取一對多 作為基數。 此關聯性反映單一產品可以連結至多個訂單的想法,但每個訂單只會連結到一個產品。
對於多對多關係(M:N)關係,例如書籍與作者之間的關聯性,其中一本書可以有多個作者,而作者可以有多個書籍,請選擇多對多 作為基數。 您需要在架構中有連結類型,才能容納這種關聯性。
新增關聯性 對話框會在選擇多對多 作為基數時,顯示另一組選擇器。 在 Books 和 Author 的範例中,您會選取連結類型,例如 BooksAuthors,以及 BookId 和 AuthorId 等字段作為連結的來源和字段。
多對多關聯性的考慮
如果您的連結類型包含一或多個未參考為 From field(s) 或 To field(s)的欄位,GraphQL 的 API 會自動產生四個一對多關聯性,如下所示:
- 從 From 類型到連結類型的一對多關聯性
- 從連結類型到From類型的一對多關聯性
- 從 To 類型到連結類型的一對多關聯性
- 從連結類型到 To 類型的一對多關聯性
這些可讓您參考任何查詢或突變中連結類型中未連結的欄位,同時允許參考任何方向關聯性的查詢/突變。
如果連結類型中沒有未連結的字段,就會建立單一多對多關聯性,而且任何查詢或突變都不需要參考連結類型來利用關聯性。
刪除關聯性
您可以從管理關聯性 畫面刪除關聯性,方法是選取關聯性旁邊的複選框,然後選取刪除。