ソリューション エクスプローラーまたは EntityMetadataの 3 つのリレーションシップ コレクションを見ると、3 種類のリレーションシップがあると思われる場合があります。 実際には、次の表に示すように、2 つしかありません。
| リレーションシップの種類 | Description |
|---|---|
| 一対多 OneToManyRelationshipMetadata |
関連テーブルのルックアップ列により、 プライマリ テーブル の 1 つのレコードを他の多くの 関連テーブル レコードに関連付けることができるリレーションシップ。 プライマリ テーブル レコードを表示すると、関連付けられている関連テーブル レコードの一覧が表示されます。 |
| 多対多 ManyToManyRelationshipMetadata |
特定のテーブルの多くのレコードを別のテーブルの多くのレコードに関連付けることができるように、特殊な リレーションシップ テーブル ( Intersect テーブルと呼ばれることもあります) に依存するリレーションシップ。 多対多リレーションシップでいずれかのテーブルのレコードを表示すると、そのテーブルに関連する他のテーブルのレコードの一覧が表示されます。 |
EntityMetadata
ManyToOneRelationships コレクションには、OneToManyRelationshipMetadata 型が含まれています。 テーブル間に一対多リレーションシップが存在し、各テーブルを プライマリ テーブル または 関連テーブルとして参照します。 関連するテーブル ( 子テーブルとも呼ばれます) には、プライマリ テーブル ( 親テーブルとも呼ばれる) からのレコードへの参照を格納できる参照列があります。 多対一リレーションシップは、関連テーブルから表示される単なる一対多リレーションシップです。
注
関連テーブルは 子テーブルと呼ばれることもありますが、これらを 子テーブルと混同しないでください。これは、関連テーブルにセキュリティを適用する方法を指します。
詳細: テーブル間のリレーションシップを作成する。
カスケード構成
一対多のリレーションシップが存在する場合、データの整合性を維持し、ビジネス プロセスを自動化するように構成できる連鎖動作があります。 詳細: リレーションシップのカスケード動作を構成します。
テーブルの階層を作成する
自己参照型の一対多リレーションシップ内では、 IsHierarchical プロパティを true に設定することで階層を設定できます。
モデル駆動型アプリを使用すると、階層を表示して操作できるエクスペリエンスが可能になります。
開発者にとって、これにより、 Under 演算子と Not Under 演算子を使用して、階層に基づく新しい種類のクエリが可能になります。
詳細情報: 階層的に関連するデータのクエリと視覚化。