Association 模型用于形容 OData 模型里不同 Entity Type 之间的关联关系。
咱们来看一个具体的例子:
Principal Entity(主体):代表 association 的主导端。
Cardinality(基数):指定主体实体类型和依赖实体类型之间的关系。按 F4 或点击从列表中抉择。
关联的多重性如下:
- 0: 0 . .1: 只呈现一个实例,也容许 0。
- 1: 一对一的关系。任何时候仅容许一个 association 实例。
- N: 1 . . n:一对多关系。能够呈现一个或多个实例。
- M:0 . .n:零到多个关系。能够呈现零个或多个实例。
为援用束缚 (referential constraints
) 指定以下参数,目标是将主体实体类型的每个键,关联到隶属实体类型的一个属性:
- 主体键(Principal key):按 F4 抉择主体实体类型中的一个键属性。
- 依赖属性(Dependent property):按 F4 抉择指定依赖实体类型的属性。
Referential Constraints 的一个例子如下:
援用束缚 (Referential Constraints) 可用于指定 1:1 或 1:n 关联的外键关系。
Association Set 将一系列关联实例进行分组,相似于 Entity Set 将实体类型实例进行分组一样。因而,它依据底层关联的各自实体类型,指定两个实体集之间的关系。
假如有一个基于实体类型 Author 和 Book 的 1:n association Author_To_Books
,可能有一个 Association Set WrittenBy
,用于 Entity Set Authors 和 Books,以及另一个 Association Set FictionWrittenBy,用于 Entity Set FictionAuthors 和 FictionBooks。
这意味着,如果在运行时追随 Authors Feed 条目标导航链接,它将生成 Books Feed,而追随 FictionAuthors Feed 条目标链接,将生成 FictionBooks 提要。
只管两者 在结构上是相等的
,因为它们基于雷同的实体类型,但具备不同的语义,并且可能蕴含不同数目的条目。