仮想テーブルの関連付けを設定する

リレーションシップに仮想テーブルが有効になっています。 1:N、N:1、カスタム マルチテーブル (ポリモーフィック) の関連付けを設定できます。 関係は次の間で設定できます:

  • Dataverse および仮想テーブルのローカル テーブル。
  • 同じプロバイダーの仮想テーブルと他の仮想テーブル (例: SQL->SQL)。

たとえば、OData 仮想テーブル プロバイダーで作成した仮想テーブルと、仮想コネクタ プロバイダーで作成した仮想テーブルとの間に関連付けを設定することはできません。

注

仮想テーブルが 1:N (一対多) リレーションシップの 1 側にあるリレーションシップを作成することはできません。 これは、仮想テーブルがソース テーブルのメタデータ表現であるためです。 リレーションシップを作成すると、リレーションシップの 1 辺に追加のサポート列が追加されます。 Dataverse には、ソース システムで新しい列を作成する機能がありません。

仮想テーブルでの関連付けの定義

仮想コネクタ プロバイダを使用して作成された仮想テーブルでは、外部ソース テーブルで表現されているすべての列が自動的に作成されます。 これには、関連付けが定義されている列も含まれます。 ただし、関連付けの定義は自動的には作成されません。 このリレーションシップは、Dataverse で手動で定義する必要があります。

次の例では、仮想テーブル (サービス リクエスト) とネイティブ テーブル (アカウント) の間に N:1 の関連付けを作成しています。 関連付けを設定する列は、AccountId です。 この列は、アカウント テーブルの主キーであり、サービス要求テーブルの外部キーです。

サービス要求仮想テーブルの表現を次に示します。 外部ソースの関連付けに使用されている AccountId 列は、テキストの複数行 タイプであることがわかります。 関連付けを作成するには、この列が 検索 型として表現されている必要があります。

仮想テーブルに列を作成する

  1. 詳細設定 > 設定 > カスタマイズ にアクセスし、システムのカスタマイズ を選択します。

  2. 左側のナビゲーション ペインで、エンティティ ビューを展開し、サービス要求 の仮想テーブル定義を参照します。

  3. フィールド ビューを選択し、AccountId 列を選択して 削除 を選択します。

  4. 削除 を選択してこの列の削除を確認します。

  5. 関連付けを作成するには、サービス要求 テーブル内の N:1 の関連付け を選択します。

  6. 新しい多対 1 の関連付けを選択します。

  7. 以下の詳細を入力して、サービス要求 の仮想テーブルと アカウント テーブルの間の関連付けを作成します。

    1. 関連付けの定義セクションで、主エンティティ列の値をアカウントに設定します。
    2. オプションで、関連付けの名前を編集する場合は、名前列で編集できます。
    3. 検索フィールドセクションで 表示名 に アカウント を設定します。
    4. 名前 列には、検索列名が自動的に入力されます。
    5. 外部名 の値を AccountId (ソース テーブルの列名と一致するもの) に設定します。
  8. 保存 を選択してから、リレーションシップを閉じます。

    関連付けの作成

  9. サービス要求 の仮想テーブルの列を参照すると、AccountId 列が 検索 タイプであることがわかります。 この列をフォームとビューに追加して、各サービス要求レコードに関連付けられているすべてのアカウントを表示できるようになりました。

    カスタム テーブル列

  10. 関連付けが確立されると、新しいサービス要求を作成し、関連付けるアカウントを選ぶことができます。

    新規カスタム テーブル

注

仮想テーブルを操作する前に、このテーブルのフォームやビューを編集して、ルックアップ列やその他の必要な列を含める必要があります。

ヒント

  • 基になるソース テーブルの設計中に列を自動的に増加するように設定しなかった場合は、主キー の列を作成フォームに含める必要があります。 挿入操作を成功させるためには、主キー列に有効な値を入力する必要があります。

次の手順

仮想コネクタのプロバイダーを使用して仮想テーブルを作成する (プレビュー)