仮想テーブルの関連付けを設定する
関連付けに仮想テーブルが有効になっています。 1:N、N:1、カスタム マルチテーブル (ポリモーフィック) の関連付けを設定できます。 関連付けは、次の間に確立できます。
- Dataverse および仮想テーブルのローカル テーブル。
- 同じプロバイダーの仮想テーブルと他の仮想テーブル (例: SQL->SQL)。
たとえば、OData 仮想テーブル プロバイダーで作成した仮想テーブルと、仮想コネクタ プロバイダーで作成した仮想テーブルとの間に関連付けを設定することはできません。
仮想テーブルでの関連付けの定義
仮想コネクタ プロバイダを使用して作成された仮想テーブルでは、外部ソース テーブルで表現されているすべての列が自動的に作成されます。 これには、関連付けが定義されている列も含まれます。 ただし、関連付けの定義は自動的には作成されません。 この関連付けは、Dataverse で手動で定義する必要があります。
次の例では、仮想テーブル (サービス リクエスト) とネイティブ テーブル (アカウント) の間に N:1 の関連付けを作成しています。 関連付けを設定する列は、AccountId です。 この列は、アカウント テーブルの主キーであり、サービス要求テーブルの外部キーです。
サービス要求 の仮想テーブルの表現を以下に示します。 外部ソースの関連付けに使用されている AccountId 列は、テキストの複数行 タイプであることがわかります。 関連付けを作成するには、この列が 検索 型として表現されている必要があります。
詳細設定 > 設定 > カスタマイズ にアクセスし、システムのカスタマイズ を選択します。
左側のナビゲーション ペインで、エンティティ ビューを展開し、サービス要求 の仮想テーブル定義を参照します。
フィールド ビューを選択し、AccountId 列を選択して 削除 を選択します。
削除 を選択してこの列の削除を確認します。
関連付けを作成するには、サービス要求 テーブル内の N:1 の関連付け を選択します。
新しい多対 1 の関連付けを選択します。
以下の詳細を入力して、サービス要求 の仮想テーブルと アカウント テーブルの間の関連付けを作成します。
- 関連付けの定義セクションで、主エンティティ列の値をアカウントに設定します。
- オプションで、関連付けの名前を編集する場合は、名前列で編集できます。
- 検索フィールドセクションで 表示名 に アカウント を設定します。
- 名前 列には、検索列名が自動的に入力されます。
- 外部名 の値を AccountId (ソース テーブルの列名と一致するもの) に設定します。
保存 を選択してから、リレーションシップを閉じます。
サービス要求 の仮想テーブルの列を参照すると、AccountId 列が 検索 タイプであることがわかります。 この列をフォームとビューに追加して、各サービス要求レコードに関連付けられているすべてのアカウントを表示できるようになりました。
関連付けが確立されると、新しいサービス要求を作成し、関連付けるアカウントを選ぶことができます。
注意
仮想テーブルを操作する前に、このテーブルのフォームやビューを編集して、ルックアップ列やその他の必要な列を含める必要があります。
チップ
- 基になるソース テーブルの設計中に列を自動的に増加するように設定しなかった場合は、主キー の列を作成フォームに含める必要があります。 挿入操作を成功させるためには、主キー列に有効な値を入力する必要があります。