Role 物件 (模型設計師)

Role 物件會定義實體的角色。角色是兩個相關實體的描述。此物件會從 Field 物件繼承屬性。

屬性

名稱

基數

類型

描述

Name

0-1

String

角色的名稱。如果基數是 One 或 OptionalOne,則預設為相關實體的 Name。否則,字串值預設為相關實體的 CollectionName。

Linguistics

0-1

Object

角色的 Linguistics 屬性。如果省略 Name,則不允許此元素。在此情況下,SingularName 與 PluralName 分別預設為相關實體的 Name 與 Collection。

RelatedRoleID

1

String

目標實體上對應之角色的識別碼。此角色不可以是 RelatedRole。此外,RelatedRole 的 RelatedRole 必須是這個角色。

Cardinality

1

Enum

有 4 個選項:One、Many、OptionalOne、OptionalMany。

ContextualName

0-1

Enum

使用角色存取實體時,ContextualName 列舉值會覆寫角色的目標實體中之屬性的 ContextualName 設定。列舉值可以是下列三種值之一:屬性、合併或角色。列舉值預設為屬性,使用屬性名稱作為內容名稱。指定合併會合併屬性名稱和角色名稱,並作為內容名稱。如果此屬性是實體的單一識別屬性,請指定角色使用角色名稱,以作為其內容名稱。如果不是實體的單一識別屬性,角色會當成合併處理。

HiddenFields

0-1

Object

使用角色存取實體時,用戶端應用程式不應為角色之目標實體顯示的一組欄位和欄位資料夾。例如,使用 HomeAddress 角色顯示 Address 時,應該隱藏 AddressType 屬性。

ExpandInline

0-1

Boolean

指出用戶端應用程式不應向使用者顯示角色,以及應改成顯示相關實體的欄位,就如同這些欄位就是此實體的一部份一般。如果同時指定了角色展開與查閱行為,會優先使用前者。

PromoteLookup

0-1

Boolean

指出將包含實體顯示為查閱時,用戶端應用程式也會將目標實體顯示為查閱。唯有角色的包含實體與目標實體都是查閱實體時,才允許此值。如果 PromoteLookup 的值為 True,而且提示角色的相關實體並非角色所提示的實體,或其直接上階或下階之一,則會提示查閱角色之相關實體的查閱角色。

Preferred

0-1

Boolean

指出包含此角色的 Path 應比未包含慣用角色的 Path 優先。使用此布林,即可指出若有一個以上的路徑可以選擇,應使用哪個路徑存取其他實體。

Recursion

0-1

Boolean

指出關聯性是否應預設為遞迴周遊。唯有包含實體與目標實體相同時,才允許遞迴。角色會遞迴展開,但是如果嘗試從實體 A 展開項目到 A 的內容中,或者展開到其直接上階或下階時,遞迴就會停止。

Binding

0-1

Object

代表此角色的資料庫物件。請注意,關聯性的指定端必須繫結至資料表中,包含 RelatedRole 元素之實體所繫結的資料行,或者等於該實體所繫結的資料行。關聯性的另一端必須在此角色之包含實體所繫結的資料表中,或者等於此實體所繫結的資料行。除非此角色實體所繫結的一端,是包含 RelatedRole 實體所繫結之資料行的資料表,否則需要繫結 (反之亦然)。在此情況下,資料行和資料表之間的包含關聯性是隱含的,並未指定繫結。

備註

在模型中,角色是兩個實體之間的關聯性描述。

如需有關有效列舉值的詳細資訊,請參閱<模型設計師資料類型>。