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


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

Объект Attribute определяет элемент внутри сущности. Объект также наследует свойства из объекта Поле.

Свойства

Имя

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

Тип

Описание

Name

1

String

Имя элемента. Обратите внимание, что эта строка обязательна, если у атрибута отсутствует выражение.

DataType

1

DataTypeEnum

Тип данных атрибута. Если выражение присутствует, значение DataType должно совпадать со значением DataType выражения.

Nullable

0-1

Boolean

Указывает, может ли атрибут иметь значение NULL.

Expression

0-1

Object

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

SortDirection

0-1

Enum

Направление по умолчанию для сортировки по этому атрибуту. По умолчанию указана сортировка по возрастанию.

Width

0-1

Integer

Ширина столбца по умолчанию в символах для отображения атрибута. Значение должно быть положительным. Значение по умолчанию определяется типом DataType и может быть одним из следующих: Boolean: 6, DateTime: 10, Time: 8, Integer: 8, Decimal: 8, Float: 8, String: 20, Binary: 1023, EntityKey: 128.

Alignment

0-1

Enum

Выравнивание символа по умолчанию. Значение по умолчанию — Общее. Другие возможные значения: По левому краю, По центру и По правому краю.

MimeType

0-1

String

Тип MIME атрибута. Для недвоичных атрибутов это значение пропускается. Нельзя задавать пустую строку.

DataCulture

0-1

Language

Указывает значение культуры для операций форматирования, производимых с ее учетом, например при выводе числовых данных с использованием символа валюты. Атрибут культуры не используется для простого форматирования отображения, например для даты или числовых форматов. Если не указано иное, по умолчанию значением атрибута DataCulture является значение культуры, заданное параметром Model.Culture.

DiscourageGrouping

0-1

Boolean

Указывает, должно ли клиентское приложение препятствовать группированию по этому атрибуту пользователем. Атрибут DiscourageGrouping должен использоваться в полях с уникальными значениями, например с телефонными номерами. Если этот атрибут является ключом или идентифицирующим атрибутом сущности, то вместо этого клиентское приложение группирует ключевые атрибуты сущности.

EnableDrillthrough

0-1

Boolean

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

Format

0-1

String

Задает строку форматирования .NET Framework по умолчанию для форматирования значений атрибута. Помимо стандартных способов форматирования .NET Framework поддерживаются следующие способы форматирования.

Форматирование для целочисленных данных типа Date

  • ддд: сокращенное обозначение дня недели

  • дддд: полное название дня недели

  • МММ: сокращенное обозначение месяца

  • ММММ: полное название месяца

Форматирование для данных типа Boolean

  • truefalse: «True» и «False»

  • yesno: «Да» и «Нет»

Пользовательские строки форматирования для данных логического типа

Пользовательские строки форматирования принимают форму «truevalue;falsevalue».

  • true: True

  • false: False

  • да: «Да»

  • нет: «Нет»

  • " и '. Символы, заключенные в одинарные или двойные кавычки, копируются в результирующий строковый литерал и не влияют на форматирование.

  • «\» экранирующий символ. Символ, следующий за экранирующим символом, интерпретируется как буквенный символ, а не как определитель формата.

ContextualName

0-1

Enum

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

IsAggregate

0-1

Boolean

Указывает, является ли этот атрибут результатом статистической обработки, который можно вычислить в контексте не только объемлющей, но и любой другой сущности со связью «один ко многим» внутри объемлющей сущности. Если оно не задано, атрибут рассматривается как скалярная величина. Параметр IsAggregate может иметь значение TRUE только для атрибутов с незакрепленными выражениями.

IsFilter

0-1

Boolean

Указывает, что этот атрибут предназначен для использования в качестве фильтра имени. Может принимать значение TRUE только для атрибутов логического типа.

OmitSecurityFilters

0-1

Boolean

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

DefaultAggregateAttributeID

0-1

String

Идентификатор атрибута, являющийся статистическим значением этого атрибута по умолчанию. Эта строка должна быть идентификатором вариации этого атрибута. Строка недопустима, если свойство IsAggregate имеет значение True. Это значение пропускается, если атрибут скрыт.

ValueSelection

0-1

Enum

Определяет поведение клиентского приложения для выбора значений атрибута на основании ожидаемого числа уникальных значений. Доступны три параметра: пусто, Dropdown и List. По умолчанию выбирается значение пусто, при этом пользователь должен ввести значение. Если указан параметр Dropdown, уникальные значения отображаются в простом раскрывающемся списке. Если указан параметр List, уникальные значения отображаются в пользовательском интерфейсе в виде списка. Атрибут не учитывается, если свойство IsAggregate имеет значение True.

Binding

0-1

Object

Объект базы данных, представляющий поле. Этот объект является обязательным, если у атрибута отсутствует выражение. Привязка должна быть привязана к столбцу таблицы, к которому привязана содержащая сущность, или к столбцу, к которому привязана сущность.

Замечания

  • В построителе отчетов атрибут называется полем.

  • Чтобы избежать извлечения всех уникальных значений поля через интерфейс выбора значений, например через диалоговое окно фильтра данных или область параметров, не забудьте установить для свойства ValueSelection значение None. Пользователю будет необходимо ввести значение.

  • При использовании функций, которые могут возвратить значение Null, необходимо установить для атрибута свойство Nullable со значением True.

  • Если значение свойства ValueSelection равно List, все значения отображаются пользователю построителя отчетов в виде отсортированных списков. Однако когда создается запрашиваемое условие фильтра, список параметров не будет отсортирован, поскольку семантический запрос не выполняет сортировку в запросах значений параметров. Если список параметров не отсортирован, но желательно его отсортировать, попробуйте создать индекс по этому полю в соответствующей базе данных; зачастую это приводит к сортировке списка.

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

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