Поделиться через


Объект Role (конструктор моделей)

Объект Role определяет роль сущности. Роль является описанием двух связанных объектов. Этот объект наследует свойства от объекта Field.

Свойства

Имя

Количество элементов

Тип

Описание

Name

0-1

String

Имя роли. Если количество определено как One или OptionalOne, по умолчанию берется имя связанной сущности. В противном случае по умолчанию берется CollectionName связанной сущности.

Linguistics

0-1

Object

Лингвистические свойства роли. Этот элемент недопустим, если опущено свойство Name. В этом случае SingularName и PluralName по умолчанию принимаются равными Name и Collection связанной сущности соответственно.

RelatedRoleID

1

String

Идентификатор соответствующей роли целевой сущности. Эта роль не может быть равна RelatedRole. Кроме того, RelatedRole связанной роли должна быть данная роль.

Cardinality

1

Enum

Одно из следующих значений: One, Many, OptionalOne, OptionalMany.

ContextualName

0-1

Enum

Когда роль используется для доступа к сущности, перечислитель ContextualName переопределяет установку атрибутов в целевой сущности роли. Перечислитель может иметь одно из трех значений: Attribute, Merge или Role. Значением по умолчанию является Attribute, что означает использовать имя атрибута в качестве контекстного имени. Укажите Merge, чтобы использовать в качестве контекстного имени слияние имен атрибута и роли. Если этот атрибут является единственным идентифицирующим атрибутом сущности, то при указании значения «Role» используется имя роли в качестве контекстного имени. Если это не единственный идентифицирующий атрибут сущности, то роль трактуется как Merge.

HiddenFields

0-1

Object

Набор полей и папок полей, которые клиентское приложение не должно отображать для целевой сущности роли, когда эта роль производит доступ к сущности. Например может быть скрыт атрибут AddressType при отображении адреса при использовании роли HomeAddress.

ExpandInline

0-1

Boolean

Указывает, что клиентское приложение не должно отображать для пользователя роль и что вместо этого должны отображаться поля связанной сущности, как если бы они были частью этой сущности. Расширение роли имеет больший приоритет, чем режим уточняющего запроса, если указано и то, и другое.

PromoteLookup

0-1

Boolean

Определяет, что если содержащая сущность отображается как уточняющий запрос, клиентское приложение отображает целевую сущность также в виде уточняющего запроса. Это значение допустимо только в том случае, если и содержащая сущность роли, и целевая сущность являются уточняющими сущностями. Уточняющие роли связанной сущности повышаются, если значение PromoteLookup равно true, и связанная сущность повышаемой роли не является ни сущностью, для которой повышается роль, ни одним из ее предков или потомков.

Preferred

0-1

Boolean

Указывает, что пути, содержащие эту роль, будут иметь больший приоритет, чем пути, которые не содержат предпочтительных ролей. Это логическое выражение используется для определения того, какой путь будет использован при доступе к другой сущности, когда существует более одного пути для выбора.

Recursion

0-1

Boolean

Определяет, должна ли связь выполняться по умолчанию рекурсивно. Рекурсия разрешена только в том случае, если содержащая сущность — та же самая, что и целевая. Роли рекурсивно расширяются, но рекурсия прекращается, когда производится попытка расширить элементы сущности A в контекст A или один из его прямых предков или потомков.

Binding

0-1

Object

Объект базы данных, который представляет данную роль. Обратите внимание, что указанный конец связи должен быть привязан к столбцам в таблице, к которым привязывается сущность, содержащая элемент RelatedRole, или равен столбцу, к которому привязывается сущность. Другой конец связи должен относиться к таблице, к которой привязывается содержащая сущность этой роли, или равен столбцу, к которому привязывается сущность. Привязка обязательна, за исключением случаев, когда сущность этой роли привязана к таблице, содержащей столбец, к которому привязана сущность RelatedRole (или наоборот). В этом случае между столбцом и таблицей применяется неявная связь включения, и привязка не указывается.

Замечания

В построителе отчетов роль описывает связь между двумя сущностями.

Дополнительные сведения о допустимых значениях Enum см. в разделе Типы данных конструктора моделей.