GraphQL 用 Fabric API でリレーションシップを管理する
Note
GraphQL 用 Microsoft Fabric API はプレビュー段階です。
GraphQL の最も強力な機能の 1 つは、一対一 (1:1)、一対多 (1:N)、多対多 (M:N) リレーションシップのサポートなど、さまざまな種類のリレーションシップを確立する機能です。
新しい一対一 (1:1) のリレーションシップを作成する
[スキーマ エクスプローラー] ウィンドウで、タイプの横にある省略記号を選択し、[リレーションシップの管理] オプションを選択します。 [リレーションシップの管理] 画面が表示されます。
新しいリレーションシップを選択します。 この例では、両方のタイプに存在する [ProductModelID] フィールドに基づいて、[Product] タイプと [ProductModel] タイプの間に新しい 1 対 1 のリレーションシップを作成します。 [カーディナリティ] には [1 対 1] を選択し、[From] と [To] のタイプを選択し、このリレーションシップの [From] フィールドと [To] フィールドを選択します。
Note
From および To フィールド ピッカーでは、複数のフィールドを選択できます。 この機能を使用すると、複数のフィールドを構成するリレーションシップを作成できます。
[リレーションシップの作成] を選択します。 リレーションシップの一覧に、新しく作成されたリレーションシップが表示されます。
右上隅にある X を選択して、[リレーションシップの管理] 画面を閉じます。
一対多 (1:N) および多対多 (M:N) のリレーションシップ
たとえば、各製品を複数の注文に関連付けることができるように、[Product] と [Order] の間に一対多 (1:N) のリレーションシップを作成するには、[一対多]をカーディナリティとして選択します。 この関係は、1 つの製品を複数の注文にリンクできるが、各注文が 1 つの製品にのみリンクされるという考えを反映しています。
書籍と著者の間など、多対多 (M:N) の関係では、書籍に複数の著者を含め、1 人の著者に複数の書籍を含めることができます。このような場合には、カーディナリティとして [多対多] を選択します。 この種のリレーションシップに対応するには、スキーマにリンクタイプが必要です。
カーディナリティとして [多対多] を選択すると、[新しいリレーションシップ] ダイアログには、別の一連のピッカーが表示されます。 書籍と著者の例では、BooksAuthors などのリンクタイプと、BookId や AuthorId などのフィールドをリンクの送受信フィールドとして選択します。
多対多リレーションシップの構成
リンクタイプに [From フィールド] または [To フィールド] として参照されていない 1 つ以上のフィールドが含まれている場合、GraphQL 用 API は、次のように 4 つの一対多リレーションシップを自動的に生成します。
- [From タイプ] から [リンクタイプ] への一対多リレーションシップ
- [リンクタイプ] から [From タイプ] への一対多リレーションシップ
- [To タイプ] から[リンクタイプ] への一対多リレーションシップ
- [リンクタイプ] から [To タイプ] への一対多リレーションシップ
これにより、任意のクエリまたは変更において [リンクタイプ] で [リンクされていない] フィールドを参照しながら、任意の方向のリレーションシップを参照するクエリ/変更も可能になります。
[リンクタイプ] に [リンクされていない] フィールドがない場合は、1 つの多対多リレーションシップが作成され、クエリまたは変更がリレーションシップを利用するために [リンクタイプ] を参照する必要はありません。
リレーションシップの削除
[リレーションシップの管理] 画面からリレーションシップを削除するには、リレーションシップの横にあるチェックボックスを選択し、[削除] を選択します。