Condividi tramite


Oggetto Role (Progettazione modelli)

L'oggetto Role definisce il ruolo di un'entità. Un ruolo è la descrizione di due entità correlate. Questo oggetto eredita le proprietà dell'oggetto Field.

Proprietà

Nome

Cardinalità

Tipo

Descrizione

Name

0-1

String

Nome del ruolo. Se la Cardinalità è One o OptionalOne, l'impostazione predefinita è Name dell'entità correlata. In caso contrario, l'impostazione predefinita del valore della stringa è CollectionName dell'entità correlata.

Linguistics

0-1

Object

Proprietà Linguistics del ruolo. Questo elemento non è consentito se Name viene omesso. In questo caso, le impostazioni predefinite di SingularName e PluralName sono rispettivamente Name e Collection dell'entità correlata.

RelatedRoleID

1

String

ID del ruolo corrispondente nell'entità di destinazione. Questo ruolo non può essere l'elemento RelatedRole. Inoltre l'elemento RelatedRole dell'elemento RelatedRole deve essere questo ruolo.

Cardinality

1

Enum

Esistono quattro opzioni: One, Many, OptionalOne, OptionalMany.

ContextualName

0-1

Enum

Quando il ruolo viene utilizzato per raggiungere l'entità, l'enumeratore ContextualName ha la priorità sull'impostazione di ContextualName per gli attributi nell'entità di destinazione del ruolo. L'enumeratore può avere uno dei valori seguenti: Attribute, Merge o Role. L'impostazione predefinita del valore dell'enumeratore è Attribute, che utilizza il nome dell'attributo come nome contestuale. Specificare Merge per fare in modo che il nome dell'attributo e il nome del ruolo vengano uniti e utilizzati come nome contestuale. Se questo attributo è l'unico attributo di identificazione dell'entità, quando si specifica Role il nome del ruolo verrà utilizzato come nome contestuale. Se non è l'unico attributo di identificazione dell'entità, Role viene trattato come Merge.

HiddenFields

0-1

Object

Un set di campi e cartelle dei campi che non devono essere visualizzati nell'applicazione client per l'entità di destinazione del ruolo quando il ruolo è utilizzato per raggiungere l'entità. L'attributo AddressType, ad esempio, deve essere nascosto quando Address viene visualizzato utilizzando il ruolo HomeAddress.

ExpandInline

0-1

Boolean

Indica che l'applicazione client non deve visualizzare il ruolo all'utente e che devono venire invece visualizzati i campi dell'entità correlata come se facessero parte di questa entità. L'espansione del ruolo viene preferita al comportamento di ricerca, quando sono entrambi specificati.

PromoteLookup

0-1

Boolean

Indica che l'applicazione client, quando l'entità contenitore è visualizzata come ricerca, visualizza anche l'entità di destinazione come ricerca. Questo valore è consentito solo se l'entità contenitore del ruolo e l'entità di destinazione sono entità di ricerca. I ruoli di ricerca nell'entità correlata di un ruolo di ricerca vengono promossi se il valore di PromoteLookup è True e l'entità correlata del ruolo promosso non è l'entità alla quale il ruolo viene promosso o uno dei suoi predecessori o discendenti diretti.

Preferred

0-1

Boolean

Indica che i percorsi che contengono questo ruolo devono essere preferiti a quelli che non contengono ruoli preferiti. Utilizzare questo valore Boolean per indicare le parti da utilizzare per raggiungere un'altra entità quando esiste più di un percorso tra cui scegliere.

Recursion

0-1

Boolean

Indica se la relazione deve essere attraversata in modo ricorsivo per impostazione predefinita. Recursion è consentito solo se l'entità contenitore è identica all'entità di destinazione. I ruoli vengono espansi in modo ricorsivo, ma la ricorsione si arresta quando viene eseguito un tentativo di espandere gli elementi dell'entità A nel contesto di A oppure di uno dei suoi predecessori o discendenti diretti.

Binding

0-1

Object

Oggetto di database che rappresenta questo ruolo. Si noti che la fine specificata della relazione deve essere associata alle colonne nella tabella alla quale è associata l'entità che contiene l'elemento RelatedRole, oppure deve corrispondere alla colonna alla quale è associata quell'entità. L'altra estremità della relazione deve essere nella tabella alla quale è associata l'entità contenitore di questo Role, oppure deve corrispondere alla colonna alla quale è associata questa entità. L'associazione è obbligatoria, a meno che l'entità di questo Role non sia associata a una tabella che contiene la colonna alla quale è associata l'entità di RelatedRole o viceversa. In tal caso, la relazione di contenuto tra la colonna e la tabella è implicita e l'associazione non è specificata.

Osservazioni

In modelli, un ruolo è una descrizione della relazione tra due entità.

Per ulteriori informazioni sui valori Enum validi, vedere Tipi di dati di Progettazione modelli.