Объект Role (конструктор моделей)
Объект Role определяет роль сущности. Роль является описанием двух связанных объектов. Этот объект наследует свойства от объекта Field.
Свойства
Имя |
Количество элементов |
Тип |
Описание |
---|---|---|---|
Name |
0-1 |
String |
Имя роли. Если количество определено как One или OptionalOne, по умолчанию берется имя связанной сущности. В противном случае по умолчанию берется CollectionName связанной сущности. |
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. |
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 или один из его прямых предков или потомков. |
0-1 |
Object |
Объект базы данных, который представляет данную роль. Обратите внимание, что указанный конец связи должен быть привязан к столбцам в таблице, к которым привязывается сущность, содержащая элемент RelatedRole, или равен столбцу, к которому привязывается сущность. Другой конец связи должен относиться к таблице, к которой привязывается содержащая сущность этой роли, или равен столбцу, к которому привязывается сущность. Привязка обязательна, за исключением случаев, когда сущность этой роли привязана к таблице, содержащей столбец, к которому привязана сущность RelatedRole (или наоборот). В этом случае между столбцом и таблицей применяется неявная связь включения, и привязка не указывается. |
Замечания
В построителе отчетов роль описывает связь между двумя сущностями.
Дополнительные сведения о допустимых значениях Enum см. в разделе Типы данных конструктора моделей.
См. также