エンティティ関連付けの作成および編集

 

公開日: 2017年2月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

エンティティ関係は、データベースでレコードがどのように相互に関連しているかを定義します。 最も簡単なレベルでは、エンティティに検索フィールドを追加することにより、2 つのエンティティ間の新しい 1:N (1 対多数) の関連付けが作成され、フォームに検索フィールドを設定できるようにします。 検索フィールドを使用すると、ユーザーはそのエンティティの複数の "子" レコードを一つの "親" エンティティ レコードに関連付けることができます。

レコードが別のレコードにどのように関連するかを定義することに加え、1:N のエンティティ関係は、以下の問題に対処するデータを提供します。

  • レコードを削除すると、そのレコードに関連するレコードも削除されますか。

  • レコードを割り当てると、そのレコードに関連するすべてレコードを新しい所有者に割り当てる必要がありますか。

  • 既存のレコードのコンテキストで新しい関連レコードを作成するとき、データ入力プロセスをどのように合理化できますか。

  • レコードを表示する際、関連レコードをどのように表示できるようにしますか。

2 つのエンティティの任意の数のレコードが相互に関連している場合、エンティティは N:N (多対多) の関連付けもできます。

このトピックの内容

エンティティ関係や接続を使用するかどうかを決定

エンティティ関係の種類

1:N の関連付けを作成および編集する

エンティティ フィールドのマップ

N:N (多対多) の関連付けを作成および編集する

関連付けの管理プロパティの設定

エンティティ関係や接続を使用するかどうかを決定

エンティティ関係はデータベースに変更を加えるメタデータのことです。 これらの関係は、クエリが関連データを効率的に取得できるようにします。 エンティティ関係を使用して、エンティティを定義するまたはほとんどのレコードが使用できる正式の関連付けを定義します。 たとえば、顧客になる可能性のない営業案件はあまり役に立ちません。 営業案件エンティティには、競合企業エンティティとの N:N の関連付けがあります。 これにより、複数の競合企業を営業案件に追加できます。 このデータを取得し、競合企業を表示するレポートを作成することができます。

レコード間のあまり正式でない関連付は、接続と呼ばれます。 たとえば、2 人の取引先担当者は結婚していること、または職場外の友人であること、またはある取引先担当者は以前別の取引先企業で働いていたことなどを把握しておくと便利場合があります。 ほとんどの業種では、この種の情報を使用または入力を必要とするレポートを生成しないため、エンティティ関係を作成するに値しません。

エンティティ関係の種類

ソリューション エクスプローラーを表示すると、3 種類のエンティティ関係があると思われる場合があります。 次の表に示したとおり実際は 2 つだけです。

関係内容

内容

1:N (一対多)

関連エンティティの検索フィールドを使用して、[主エンティティ] の 1 つのエンティティ レコードが他の複数の [関連エンティティ] レコードに関連付けられるエンティティ関係。

主エンティティ レコードを表示する際に、それに関連付けられた関連エンティティ レコードの一覧を表示できます。

N:N (多対多)

特殊な [関係エンティティ] に基づくエンティティ関係。交差するエンティティと呼ばれることもあり、1 つのエンティティの複数のレコードが別のエンティティの複数のレコードに関連付けられます。

N:N の関連付けのいずれかのエンティティのレコードを表示すると、それと関連する他のエンティティのレコードのリストを表示できます。

ソリューション エクスプローラーはエンティティでグループ分けされたビューを表示するため、[N:1 (多対 1)] の関連付けタイプはソリューション エクスプローラーのユーザー インターフェイスあります。 1:N の関連付けは、実際にはエンティティ間にあり、[主エンティティ] または [関連エンティティ] のいずれかとして各エンティティを参照します。 子エンティティとも呼ばれる関連エンティティには、主エンティティ (親エンティティとも呼ばれる) からのレコードへの参照を格納できる検索フィールドがあります。 N:1 の関連付けは、単に、関連エンティティから見た 1:N の関連付けです。

1:N の関連付けを作成および編集する

1:N の関連付けを作成する最も簡単な方法は、エンティティに新しい検索フィールドを作成することです。 これにより、検索フィールドの共通フィールドの値とともに、[検索][タイプ] を設定して、2 つの追加オプションを簡単に設定できます。 これらの追加のフィールドは [ターゲット レコードの種類][関連付け名] です。

[ターゲット レコードの種類] は、1:N の関連付けの [主エンティティ] を選択します。[関連付け名] は、関連付けに参加する 2 つのエンティティに基づいて自動生成されます。 通常これを編集する必要はありませんが、編集することもできます。 エンティティ関係の名前には、現在作業しているソリューションのソリューション発行者のカスタマイズの接頭辞が含まれます。

注意

カスタマイズの接頭辞を考慮する場合、自分で設定する接頭辞を持つソリューション発行者にリンクされているソリューションのコンテキストで作業していることを考慮にいれます。

ただし、検索フィールドを作成して 1:N の関連付けを作成すると、特定の既定値が自動的に設定されます。 関連付けで使用できるオプションの一部を編集する場合は、関連付けを見つけてそれを編集する必要があります。

カスタムの 1:N の関連付けは、すべてのエンティティに作成できるわけではありません。 作成できないときには、ソリューション エクスプローラーを使って新しいユーザー定義エンティティ関係を作成するオプションが存在しません。 メタデータ ブラウザーを使用する場合、CanBePrimaryEntityInRelationshipCanBeRelatedEntityInRelationship プロパティに応じてエンティティの一覧にフィルターを適用できます。 詳細については、「メタデータ ブラウザーの使用」を参照してください。

1:N の関連付けの定義には、[関連付けの定義][検索フィールド][主エンティティのナビゲーション ウィンドウ項目][関連付け動作] の 4 つの部分があります。

1:N Entity Relationship

エンティティ間の 1:N の関連付けの作成または編集

  1. [設定] > [カスタマイズ] に移動します。

  2. [システムのカスタマイズ] をクリックします。

  3. [コンポーネント] で、[エンティティ] を展開し、作業するエンティティを展開します。

  4. [1:N の関連付け] をクリックします。

  5. 関連付けを編集したり、関連付けの詳細を表示するには、関連付けを選択し、[操作] ツール バーの [その他の操作] をクリックして、[編集] をクリックします。

    - または -

    新しい関連付けを追加するには、[新しい一対多関連付け] をクリックします。

    重要

    [新しい 1 対多の関連付け] が[操作] ツール バーに表示されない場合は、そのエンティティに対する 1:N の関連付けを作成できません。

  6. 新しい関連付けの場合、[関連付けの定義] セクションの [関連エンティティ] の一覧で、関連付けるエンティティを選択します。

    注意

    関連エンティティの指定で、[名前] フィールドの既定値がセットされます。 保存する前に [関連エンティティ] を変更する場合、[名前] の値もそれに応じて変更されます。

  7. これが検索可能であるかないかを選択します。

  8. [検索フィールド] セクションで、[表示名] フィールドの値を指定します。

    重要

    表示名の指定で、[名前] フィールドの既定値がセットされます。 保存する前に検索フィールドの表示名を変更すると、[名前] フィールドの値は変更されません。 その結果 [名前] を保存する前に適切であることを確認します。

  9. [フィールドの要件] 一覧で、レコードを保存する前にフィールドのデータ要求を指定するオプションを選択します。

  10. [主エンティティのナビゲーション ウィンドウ項目] セクションの [表示オプション] の一覧で、関連ビューまたはユーザー定義のラベルを表示するオプションを選択します。

  11. 関連付け動作 セクションの関連付けの種類リストで、次のいずれかのオプションを選択します。

    • 上位下位。 2 つのエンティティの間に上位下位の関連付けがある場合は、親エンティティのレコードに対して実行されたアクションが、主 (親) エンティティ レコードに関連する子エンティティ レコードにも実行されます。

    • 参照。 2 つのエンティティの間に参照の関連付けがある場合、関連する任意のレコードに移動できますが、一方のエンティティに対して実行したアクションが他方に影響することはありません。

    • 参照、削除制限。 2 つのエンティティの間に参照、削除制限の関連付けがある場合、関連する任意のレコードに移動できます。 親レコードに対して実行されたアクションは子レコードに適用されませんが、子レコードが存在している間は、親レコードを削除することはできません。 関連レコードが存在する場合にレコードを削除することができないことに留意してください。

    • 構成可能な伝播。 2 つのエンティティ間の構成可能な伝播する関連付けでは、一連の使用性のあるアクションのそれぞれに関連する動作を選択します。

      重要

      別の動作の種類と関連付けられたアクションに対する動作と一致するように、アクションに対する動作を設定する場合、関連付けを保存すると、動作の種類が他の種類に自動的に設定されます。

    詳細:MSDN: エンティティ関係付けの動作の構成

  12. [保存して閉じる] をクリックして "関連付け" フォームを閉じます。

  13. カスタマイズが完了したら、公開します。

    • 現在編集中のコンポーネントのみのカスタマイズを公開するには、[操作] ツール バーで、[公開] をクリックします。

    • 未公開のすべてのコンポーネントのカスタマイズを一度に公開するには、ナビゲーション バーまたはナビゲーション ウインドウで、[エンティティ] をクリックし、その後 [操作] ツール バーで、[すべてのカスタマイズの公開] をクリックします。

注意

  • 伝播する関連システム エンティティとの関連付けにおいて、カスタム エンティティを主エンティティにすることはできません。 つまり、主カスタム エンティティと関連システム エンティティの間の関連付けには、[すべてのレコードに伝播]、[アクティブ レコードのみに伝播]、または [同一所有者のレコードのみに伝播] のアクションを設定できません。

  • アクションが [すべてのレコードに伝播][アクティブ レコードのみに伝播]、または [同一所有者のレコードのみに伝播] に設定された別の関連付けの関連エンティティとして、新しい関連付けの関連エンティティが既に存在する場合、新しい関連付けのアクションを [すべてのレコードに伝播][アクティブ レコードのみに伝播]、または [同一所有者のレコードのみに伝播] に設定することはできません。 これにより、複数の親関連付けを持つ関連付けの作成を防ぎます。

  • ユーザー インターフェイス要素に変更を加えた場合、またはエンティティに対してフォーム スクリプトを実装した場合は、変更を公開して適用する必要があります。 ユーザー定義エンティティ、関連付け、フィールドなど、Microsoft Dynamics 365 のデータ スキーマを変更するカスタマイズは、直ちに適用されます。

  • 関連付けがマネージド ソリューションの一部である場合、マネージド ソリューションの開発は関連付けのカスタマイズで制限できます。

  • ソリューションのインストールやカスタマイズの発行は、通常のシステム操作に影響を与える可能性があります。 ソリューションのインポートは、ユーザーへの影響が最小限に留まるようにスケジューリングすることを推奨します。

関連付けの定義

ソリューション エクスプローラーの [新しい 1 対多関連付け] または [新しい多対 1 関連付け] のどちらを作成することを選択するかによって、[主エンティティ] または [関連エンティティ] フィールドがあらかじめ入力されます。 他の 1 つを選択するだけです。[名前] フィールドの既定値は、ソリューション発行者のカスタマイズ接頭辞、および参加するように選択した関連付けのエンティティの名前に基づいてあらかじめ入力されます。 必要に応じて、この値を編集することもできます。 2 つのエンティティ間の複数のユーザー定義の関連付けを作成し、両方で同じカスタマイズ接頭辞を使用する場合、自動生成された名前の値は一意ではないので、新しい関連付けを保存することはできません。 保存する前に、既存の名前とは違う名前に編集する必要があります。 保存すると、その名前を変更することはできません。

エンティティ関係を [高度な検索] に表示させたくない場合は、[検索可能] の値を [いいえ] に設定します。

検索フィールド

これらのフィールドは、[検索可能][フィールド セキュリティ]、および [監査] を除きすべてのフィールドにある一般的なプロパティです。 エンティティ関係で作成した検索フィールドのこれらの値を編集するには、エンティティ関係を作成した後に別に検索フィールドを見つけて編集する必要があります。詳細:フィールドの作成および編集

一般的に、[表示名] は、主エンティティの表示名に対応します。

主エンティティのナビゲーション ウィンドウ項目

主エンティティは、ナビゲーション ウィンドウを展開すると、関連エンティティの一覧を表示できます。 このグループのオプションは、この一覧を表示するかどうかまた表示する方法を制御します。 これらのナビゲーション項目はフォーム エディターを使用して編集でき、フォームが表示されると、JavaScriptを使用して、開発者はこられ項目に対して変更を適用できます。

フィールド

説明

表示オプション

  • [表示しない] : 関連エンティティ レコードの一覧への移動をユーザーに許可しない場合は、このオプションを選択します。

  • [カスタム ラベルを使用する] : 使用するカスタム ラベルを指定する場合は、このオプションを選択します。

  • [複数名を使用する] : ラベルとして関連するエンティティに複数名を使用する場合は、このオプションを選択します。

カスタム ラベル

表示オプションとして [カスタム ラベルを使用する] を選択するときは、関連するエンティティの複数名の代わりに使用するユーザー定義のラベルを入力します。

表示領域

  • [詳細]: [共通] グループにナビゲーション アイテムを追加する場合に選択します。

  • [マーケティング]: [マーケティング] グループにナビゲーション アイテムを追加する場合に選択します。

  • [営業]: [営業] グループにナビゲーション アイテムを追加する場合に選択します。

  • [サービス]: [サービス] グループにナビゲーション アイテムを追加する場合に選択します。

表示順序

この番号は、ナビゲーション アイテムが選択した表示領域のどこに含まれるかを制御します。 指定できる値の範囲は 10,000 から始まります。 値の小さいナビゲーション ウィンドウ項目は、値の大きい他の関係よりも上に表示されます。

関連付け動作

1:N の関連付けで、関連付けが組織の業務ルールをサポートする方法を制御できます。 そうする理由。 例を見てみましょう。

新しい営業担当者がいて、別の営業担当者に割り当てている既存の営業案件をその新しい営業担当者に割り当てると仮定します。 各営業案件レコードには、それに関連付けられた一連タスク活動があります。 以前の所有者に再割り当てしたいまたは新しい営業担当者に割り当てたいアクティブな営業案件を簡単に見つけることができます。 しかし、営業案件に関連付けられているタスク活動の場合にはどうですか。 各タスクを開き、新しい営業担当者に割り当てるかどうかを一つずつ考慮したいですか。 したくないでしょう。 その代わり、関連付けが標準規則を自動的に適用するようにできます。 これらの規則は再割り当てする営業案件に関連付けられているタスク レコードにのみ適用されます。 エンティティ関係には、[Opportunity_Tasks] という名前が付けられます。 次のオプションがあります。

  • すべてのタスク活動を再割り当てします。

  • すべてのタスクを再割り当てします。 これが既定の動作です。

  • タスクを全く再割り当てしません。

  • 現時点では、すべてのタスクを営業案件の以前の所有者に再割り当てします。

関連付けは、主エンティティ レコードのレコードで実行された操作が関連するすべてのエンティティ レコードにどのように伝播するかを制御できます。 操作と可能な動作は、次の表に示されます。

アクション

説明

可能な動作

割り当て​​

主エンティティ レコードの所有権を変更すると、どうなりますか。

  • アクティブ レコードのみに伝播

  • すべてのレコードに伝播

  • 伝播しない

  • 同一所有者のレコードのみに伝播

共有​​

主エンティティ レコードが共有されると、どうなりますか。

  • アクティブ レコードのみに伝播

  • すべてのレコードに伝播

  • 伝播しない

  • 同一所有者のレコードのみに伝播

共有の解除

主エンティティ レコードの共有がなるくると、どうなりますか。

  • アクティブ レコードのみに伝播

  • すべてのレコードに伝播

  • 伝播しない

  • 同一所有者のレコードのみに伝播

リペアレント

主エンティティ レコードの上位下位タイプの関連付けの検索フィールドの値が変更されると、どうなりますか。

上位下位タイプの関連付けはすべての種類の操作に [すべてのレコードに伝播] を使用します。カスタマイズ可能なエンティティの上位下位の関連付けは、カスタマイズ可能な上位下位システム関連付けを示します。

  • アクティブ レコードのみに伝播

  • すべてのレコードに伝播

  • 伝播しない

  • 同一所有者のレコードのみに伝播

Del

主エンティティ レコードが削除されると、どうなりますか。

  • すべてのレコードに伝播

  • 関連付けの解除

  • 削除の制限

重複レコードの​​統合

主エンティティ レコードが別のレコードと統合されると、どうなりますか。

  • すべてのレコードに伝播

  • 伝播しない

これらの各操作を構成して、1:N のエンティティの関連付けによって、操作が主エンティティ レコードに関連付けられるレコードに伝播する方法を制御できます。 次の表に動作のオプションを示します。

動作

説明

アクティブ レコードのみに伝播

すべてのアクティブな関連エンティティ レコードで操作を実行します。

すべてのレコードに伝播

すべての関連エンティティ レコードで操作を実行します。

伝播しない

何もしません。

記事のリンク解除

すべての関連エンティティ レコードの検索フィールドの値を削除します。

削除の制限

関連レコードが存在するときは、主エンティティ レコードが削除されないようにします。

同一所有者のレコードのみに伝播

主エンティティ レコードと同じユーザーによって所有されているすべての関連エンティティ レコードで操作を実行します。

関連付け内でこれらの操作が適用される方法は、次の表で説明されている [動作の種類] フィールドの値を使用して、分類されるか適用されます。

フィールド値

説明

上位下位

すべての操作は、[すべてのレコードに伝播] 動作を使用します。

カスタマイズ可能なエンティティの上位下位の関連付け は、親動作を使用するカスタマイズ可能なシステム エンティティ関係のすべてを示します。

参照

[割り当て][共有][共有の解除][リペアレント]は、[伝播しない] 動作を使用します。

[削除][関連付けの解除] 動作を使用します。

[マージ][すべてのレコードに伝播] 動作を使用します。

参照、削除制限

[削除][削除制限] 動作を使用すること以外は、[参照] と同様。

構成可能な伝播

個々の動作を、各操作に対して割り当てることができます。 選択が他の [動作の種類] のカテゴリのどれかと一致する場合、値は [動作の種類] の値に変更されます。

設定できる動作の制限

エンティティ関係を定義するときを覚えておく必要があるいくつかの制限があります。

  • 伝播する関連システム エンティティとの関連付けにおいて、ユーザー定義エンティティを主エンティティにすることはできません。 つまり、主ユーザー定義エンティティと関連システム エンティティの間の関連付けには、[すべてのレコードに伝播][アクティブ レコードのみに伝播]、または [同一所有者のレコードのみに伝播] のアクションを設定できません。

  • アクションが [すべてのレコードに伝播][アクティブ レコードのみに伝播]、または [同一所有者のレコードのみに伝播] に設定された別の関連付けの関連エンティティとして、新しい関連付けの関連エンティティが既に存在する場合、新しい関連付けのアクションを [すべてのレコードに伝播][アクティブ レコードのみに伝播]、または [同一所有者のレコードのみに伝播] に設定することはできません。 これにより、複数の親関連付けを持つ関連付けの作成を防ぎます。

エンティティ フィールドのマップ

エンティティの関連付けを持つエンティティ間で属性をマップできます。 これにより、他のレコードのコンテキストで作成したレコードの既定値を設定できます。 特定の取引先企業の従業員に新しい取引先担当者レコードを追加すると仮定します。 2 つの方法でできます。

[営業] > [取引先担当者] に移動して、新しい取引先担当者レコードを初めから作成できます。 しかし、取引先企業の親会社を設定し、取引先企業の親会社と同じ情報の項目 (住所、電話番号など) を入力する必要があります。 これには時間がかかり、営業案件に間違いが生じる場合があります。

最も簡単な方法は、取引先企業エンティティから開始し、フォームの [取引先担当者] サブグリッドを使って、+ をクリックして取引先担当者を追加することです。 最初に、関連する既存の取引先担当者を見つけるように促されるため、重複レコードを誤って作成することはありません。 既存のレコードが見つからなければ、[新規] をクリックして、新しい取引先担当者レコードを作成できます。 違いは、取引先企業レコードからのデータの特定のアイテムが新しい取引先担当者のフォームにコピーされ、特定の既定値を設定し、保存する前にその規定値を編集することもできることです。 これによりデータ入力の時間を節約し、エラーを減らすのに役立ちます。

既定のエンティティおよび属性マッピング は、Microsoft Dynamics 365に設定するすべての既定のマッピングを示します。

注意

これらのマッピングは、ワークフローとダイアログ プロセスを使用して作成された関連レコードに適用されません。 これらのマッピングはコードを使用して作成された新しいレコードに自動的には適用されませんが、開発者は MSDN: InitializeFromRequest と呼ばれる特別なメッセージを使用して、使用可能なマッピングで新しいレコードを作成できます。

これらのマッピングは、保存する前に、レコードに既定値を設定するだけです。 保存する前に値を編集できます。 転送されるデータは、その時点のデータです。 同期されません。 主エンティティ レコードの情報が変更された場合、作成時に転送された関連エンティティ レコード データは変更されません。

リストから新しいレコードを作成したときに設定された既定の値は、エンティティ関係内に実際には設定されていませんが、そのエンティティ関係のユーザー インターフェイスに公開されます。 すべての 1:N のエンティティ関係にあるわけではありません。 エンティティの 1:N (または N:1) エンティティ関係のリストを表示して、表示される関係を種類別にフィルター処理できます。[すべて][カスタム][カスタマイズ可能]、または [マッピング可能] のいずれかを選択できます。 マッピング可能のエンティティ関係は、エンティティ フィールドのマッピング可能にするアクセスを提供します。

次の規則は、マップできるデータの種類を示します。

  • 両方のフィールドが同じ種類で、同じ形式である必要があります。

  • ターゲット フィールドの長さが、ソース フィールドの長さと同じかそれ以上である必要があります。

  • ターゲット フィールドが、別のフィールドにまだマップされていない必要があります。

  • ソース フィールドがフォーム上で表示可能である必要があります。

  • ターゲット フィールドが、ユーザーがデータを入力可能なフィールドである必要があります。

  • フィールドがオプション セットの場合、各オプションの整数値が同一である必要があります。

  • アドレス ID の値はマップできません。

注意

オプション セット フィールドをマップする必要がある場合、同じグローバル オプション セットを使用するように両方のフィールドを構成するようお勧めします。 そうしないと、別々の 2 種類のオプションのセットの同期を手動で保つことが難しくなります。 各オプションの整数値が正しくマップされていない場合、データに問題が発生することがあります。詳細:グローバル オプション セットの作成および編集

フィールド間のマッピングの作成または編集

  1. [設定] > [カスタマイズ] に移動します。

  2. [システムのカスタマイズ] をクリックします。

  3. [コンポーネント][エンティティ] を展開し、目的のエンティティを展開します。

  4. [1:N の関連付け] または [N:1 の関連付け] を選択します。

  5. メイン ウィンドウの [種類] ボックスの一覧で、[マッピング可能] を選択します。

  6. マッピング可能な関連付けを選択します。 次に、[操作] ツール バーで、[操作] をクリックし、[編集] をクリックします。

  7. [関連][マッピング] をクリックします。

  8. 新しいマッピングごとに、[操作] ツール バーで、[新規] をクリックします。

  9. [フィールド マッピングの作成] ダイアログ ボックスで、[ソース エンティティのフィールド] からソース フィールドを選択します。[ターゲット エンティティのフィールド] からターゲット フィールドを選択します。

  10. [OK] をクリックします。

  11. [保存して閉じる] をクリックして "関連付け" フォームを閉じます。

  12. カスタマイズが完了したら、公開します

注意

  • カスタマイズを公開すると、すべてのユーザーがマッピングを使用できるようになります。 カスタマイズを公開する前に インターネット インフォメーション サービス (IIS) をリセットする場合は、これらのマッピングは、他のカスタマイズが使用できなくても、すべてのユーザーが使用できます。

  • フォームに表示されていないフィールドとの間でマップを行った場合、フィールドがフォームに追加されるまで、マッピングは行われません。

フィールド マッピングを自動的に生成する

マッピングを自動的に生成できますが、システム エンティティに適用するいくつかの注意点があります。 ユーザー定義エンティティを作成し、マッピングを活用する場合に使用します。 マッピングの一覧を表示し、[他の操作] メニューで [マッピングの生成] を選択します。 これにより、既存のマッピングがすべて削除され、類似の名前とデータの種類を持つフィールドのみに基づく推奨のマッピングで置き換えます。 システム エンティティで使用している場合は、必要なマッピングを失う場合があります。 ユーザー定義エンティティの場合、不要なマッピングを容易に削除し、マッピングの生成操作で作成されなかったそのほかのものを追加できるので時間を節約できます。

N:N (多対多) の関連付けを作成および編集する

1:N のエンティティ関係はレコード間の階層を確立します。 N:N (多対多) の関連付けでは、明示的階層がありません。 構成する検索フィールドまたは動作はありません。 N:N の関連付け使用して作成されたレコードは同等であると考えられ、この関係は相互的なものです。

N:N の関連付けを使用して、Relationship (または Intersect)エンティティと呼ばれる特別なエンティティが作成されます。 このエンティティには、関連する各エンティティの関連付けがあり、関連付けの定義に必要となる値のみを格納します。 関係エンティティにユーザー定義フィールドを追加できません。

N:N の関連付けを作成する手順は、基本的に、その関係に参加させたい 2 つのエンティティを選択し、各エンティティに対してフォームのナビゲーション ウィンドウ内で対応するリストを使用する方法を各エンティティに対して定義することです。 これらは、1:N の関連付けの主エンティティで使用されるのと同じオプションです。詳細:主エンティティのナビゲーション ウィンドウ項目

すべてのエンティティが、N:N の関連付けで使用できるわけではありません。[新しい多対多関連付け] ボタンがない場合、このエンティティで新しい N:N の関連付けは作成できません。 メタデータ ブラウザーを使用する場合、CanBeInManyToMany の値をtrueに設定したエンティティをフィルター処理できます。詳細:メタデータ ブラウザーの使用

エンティティ間の N-N の関連付けの作成または編集

  1. [設定] > [カスタマイズ] に移動します。

  2. [システムのカスタマイズ] をクリックします。

  3. [コンポーネント] で、[エンティティ] を展開し、作業するエンティティを展開します。

  4. [N:N の関連付け] をクリックします。

  5. 既存の関連付けを編集または表示するには、関連付けを選択し、[操作] ツール バーの [操作] をクリックし、次に [編集] をクリックします。

    または

    新しい関連付けを追加するには、[新しい多対多の関連付け] をクリックします。

    重要

    [新しい多対多の関連付け] が[操作] ツール バーに表示されない場合は、そのエンティティに対する N:N の関連付けを作成できません。

  6. 新しい関連付けの場合、[現在のエンティティ] セクションの [表示オプション] ボックスの一覧で、次のいずれかのオプションを選択できます。

    • 表示しない: 他のエンティティで、現在のエンティティの関連付けられたビューを表示しません。

    • カスタム ラベルを使用する: このラベルは、他のエンティティのために作成された、関連付けられたビューで使用されます。[カスタム ラベル] フィールドに対応する値を入力します。

    • 複数形の名前を使用する: 関連付けられたビューで現在のエンティティの複数形の名前を使用する設定。

    注意

    [複数形の名前を使用する] オプションまたは [カスタム ラベルを使用する] オプションが選択されている場合、[表示領域] オプション リストからの選択により、関連付けラベルを表示するフォーム上の表示領域 (マーケティングまたは営業など) を指定できます。 また、[表示順序] を指定することで、選択した表示領域のどこにラベルを含めるかを制御できます。

    重要

    更新されたエンティティに関連付けられているフォームのナビゲーション パラダイムは、更新されなかったエンティティのナビゲーション パラダイムとは大幅に異なります。 表示領域および表示の順序を定義するメカニズムは共通ですが、エンティティの関連付けを確立するときのさまざまなナビゲーション パラダイムを理解してください。

  7. [その他のエンティティ] セクションで、[エンティティ名] ボックスの一覧から他のエンティティを選択します。

    注意

    エンティティ名を選択するとき、[関連付けの定義] セクションの [名前] フィールドおよび [関係エンティティ名] フィールドに、既定値が設定されます。 保存する前に [エンティティ名] の値を変更した場合、これらの名前は変更されません。したがって、保存する前に名前が有意であることを確認します。

  8. [関連付けの定義] セクションで、[名前][関係エンティティ名] を確認します。

    これらの値は、N:N の関連付けの間で一意である必要があります。

  9. [保存して閉じる] をクリックして [N:N の関連付け] フォームを閉じます。

  10. カスタマイズが完了したら、公開します。

    • 現在編集中のコンポーネントのカスタマイズのみを公開するには、[ホーム] タブで、[保存] グループの [公開] をクリックします。

    • 非公開のすべてのコンポーネントのカスタマイズを一度に公開するには、すべてのカスタマイズの公開 をクリックします。

    注意

    ユーザー インターフェイス要素に変更を加えた場合、またはエンティティに対してフォーム スクリプトを実装した場合は、変更を公開して適用する必要があります。 ユーザー定義エンティティ、関連付け、フィールドなど、Microsoft Dynamics 365 のデータ スキーマを変更するカスタマイズは、直ちに適用されます。

    ソリューションのインストールやカスタマイズの発行は、通常のシステム操作に影響を与える可能性があります。 ソリューションのインポートは、ユーザーへの影響が最小限に留まるようにスケジューリングすることを推奨します。

関連付けの管理プロパティの設定

マネージド プロパティ は、管理ソリューションにフィールドを含め、他の組織にインポートしたときにだけ適用できます。 これらの設定により、ソリューション開発者は、管理ソリューションをインストールしているユーザーがエンティティ関係をカスタマイズする際に許可されるカスタマイズのレベルを制御できます。 関連付けの管理プロパティを設定するには、メニュー バーの [管理プロパティ] ボタンをクリックします。

関連付けで管理プロパティだけが [カスタマイズ可能] です。 この単一の設定は、エンティティ関係に加えられるすべての変更を制御します。

関連項目

メタデータの作成と編集
エンティティの作成および編集
フィールドの作成および編集
グローバル オプション セットの作成および編集
カスタマイズ可能なエンティティの上位下位の関連付け
既定のエンティティおよび属性マッピング

© 2017 Microsoft. All rights reserved. 著作権