次の方法で共有


GraphQL 用 Fabric API でリレーションシップを管理する

Note

GraphQL 用 Microsoft Fabric API はプレビュー段階です。

GraphQL の最も強力な機能の 1 つは、一対一 (1:1)、一対多 (1:N)、多対多 (M:N) リレーションシップのサポートなど、さまざまな種類のリレーションシップを確立する機能です。

新しい一対一 (1:1) のリレーションシップを作成する

  1. [スキーマ エクスプローラー] ウィンドウで、タイプの横にある省略記号を選択し、[リレーションシップの管理] オプションを選択します。 [リレーションシップの管理] 画面が表示されます。

    [リレーションシップの管理] 画面のスクリーンショット。[新しいリレーションシップ] オプションを選択する場所が示されています。

  2. 新しいリレーションシップを選択します。 この例では、両方のタイプに存在する [ProductModelID] フィールドに基づいて、[Product] タイプと [ProductModel] タイプの間に新しい 1 対 1 のリレーションシップを作成します。 [カーディナリティ] には [1 対 1] を選択し、[From] と [To] のタイプを選択し、このリレーションシップの [From] フィールドと [To] フィールドを選択します。

    5 つの必須フィールドの選択例を示す [新しいリレーションシップ] 画面のスクリーンショット。

    Note

    From および To フィールド ピッカーでは、複数のフィールドを選択できます。 この機能を使用すると、複数のフィールドを構成するリレーションシップを作成できます。

  3. [リレーションシップの作成] を選択します。 リレーションシップの一覧に、新しく作成されたリレーションシップが表示されます。

    新しく作成されたリレーションシップが一覧に表示されている [リレーションシップの管理] 画面のスクリーンショット。

  4. 右上隅にある X を選択して、[リレーションシップの管理] 画面を閉じます。

一対多 (1:N) および多対多 (M:N) のリレーションシップ

たとえば、各製品を複数の注文に関連付けることができるように、[Product] と [Order] の間に一対多 (1:N) のリレーションシップを作成するには、[一対多]をカーディナリティとして選択します。 この関係は、1 つの製品を複数の注文にリンクできるが、各注文が 1 つの製品にのみリンクされるという考えを反映しています。

書籍著者の間など、多対多 (M:N) の関係では、書籍に複数の著者を含め、1 人の著者に複数の書籍を含めることができます。このような場合には、カーディナリティとして [多対多] を選択します。 この種のリレーションシップに対応するには、スキーマにリンクタイプが必要です。

カーディナリティとして [多対多] を選択すると、[新しいリレーションシップ] ダイアログには、別の一連のピッカーが表示されます。 書籍著者の例では、BooksAuthors などのリンクタイプと、BookIdAuthorId などのフィールドをリンクの送受信フィールドとして選択します。

[新しいリレーションシップ] ダイアログでの多対多のリレーションシップを示すスクリーンショット。

多対多リレーションシップの構成

リンクタイプに [From フィールド] または [To フィールド] として参照されていない 1 つ以上のフィールドが含まれている場合、GraphQL 用 API は、次のように 4 つの一対多リレーションシップを自動的に生成します。

  • [From タイプ] から [リンクタイプ] への一対多リレーションシップ
  • [リンクタイプ] から [From タイプ] への一対多リレーションシップ
  • [To タイプ] から[リンクタイプ] への一対多リレーションシップ
  • [リンクタイプ] から [To タイプ] への一対多リレーションシップ

これにより、任意のクエリまたは変更において [リンクタイプ] で [リンクされていない] フィールドを参照しながら、任意の方向のリレーションシップを参照するクエリ/変更も可能になります。

[リンクタイプ] に [リンクされていない] フィールドがない場合は、1 つの多対多リレーションシップが作成され、クエリまたは変更がリレーションシップを利用するために [リンクタイプ] を参照する必要はありません。

リレーションシップの削除

[リレーションシップの管理] 画面からリレーションシップを削除するには、リレーションシップの横にあるチェックボックスを選択し、[削除] を選択します。