Класс EntitySchemaQuery
Пространство имен Terrasoft.Core.Entities.
Класс Terrasoft.Core.Entities.EntitySchemaQuery предназначен для построения запросов выборки записей из таблиц базы данных с учетом прав доступа текущего пользователя. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения SELECT. В запрос можно добавить требуемые колонки, фильтры и условия ограничений.
Конструкторы
Создает экземпляр класса, в котором в качестве корневой схемы устанавливается переданный экземпляр EntitySchema. В качестве менеджера схем устанавливается менеджер переданного экземпляра корневой схемы.
Создает экземпляр класса с указанным EntitySchemaManager и корневой схемы с именем, переданным в качестве аргумента.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Кэш запроса.
Имя элемента кэша.
Определяет, попадут ли в результаты запроса данные, для которых не завершена транзакция.
Заголовок.
Количество строк запроса в одном чанке.
Коллекция колонок текущего запроса к схеме объекта.
Менеджер значений типов данных.
Менеджер схем объектов.
Коллекция фильтров текущего запроса к схеме объекта.
Определяет, будут ли скрыты значения зашифрованных колонок.
Определяет, будут ли в запросе использоваться отображаемые значения колонок.
Определяет, убирать ли дубли в результирующем наборе данных.
Определяет, является ли запрос унаследованным.
Определяет условие наложения прав при использовании связанных таблиц, если схема администрируется по записям.
Менеджер схем.
Элемент менеджера.
Имя.
Коллекция запросов, которой принадлежит текущий запрос к схеме объекта.
Родительская схема запроса.
Колонка, созданная по первичной колонке корневой схемы. Заполняется при первом обращении.
Разрешает использование оптимизации запроса.
Корневая схема.
Количество строк, возвращаемых запросом.
Префикс, используемый для создания псевдонимов схем.
Количество строк, которые необходимо пропустить при возврате результата запроса.
Определяет будут ли учитываться права при построении запроса получения данных.
Определяет, будут ли использоваться локализованные данные.
Определяет возможность постраничного возврата результата запроса.
Определяет, будут ли данные исключены из фильтрации.
Методы
В коллекцию колонок текущего запроса к схеме объекта добавляет все колонки корневой схемы.
Создает и добавляет колонку в текущий запрос к схеме объекта.
| column |
Путь к колонке схемы относительно корневой схемы. |
| aggregation |
Тип агрегирующей функции. В качестве параметра передаются значения перечисления типов агрегирующей функции Terrasoft.Common.AggregationTypeStrict. |
| sub |
Ссылка на созданный подзапрос, помещенный в колонку. |
| query |
Экземпляр EntitySchemaQueryColumn, добавляемый в коллекцию колонок текущего запроса. |
| function | Экземпляр функции EntitySchemaQueryFunction. |
| parameterValue | Значение параметра, добавляемого в запрос в качестве колонки. |
| parameterDataValueType | Тип значения параметра, добавляемого в запрос в качестве колонки. |
Очищает кэш текущего запроса.
Удаляет из кэша запроса элемент с заданным именем cacheItemName.
Создает клон текущего экземпляра EntitySchemaQuery.
Возвращает выражение агрегирующей функции с заданным типом агрегации из перечисления Terrasoft.Common.AggregationTypeStrict для колонки, расположенной по заданному пути leftExprColumnPath.
Создает выражение для параметра запроса.
| parameter |
Значение параметра. |
| value |
Тип значения параметра. |
| display |
Значение для отображения параметра. |
Создает коллекцию выражений для параметров запроса с определенным типом данных DataValueType.
Возвращает выражение колонки схемы объекта.
| parent |
Запрос к схеме объекта, для которого создается выражение колонки. |
| root |
Корневая схема. |
| column |
Путь к колонке относительно корневой схемы. |
| use |
Признак, использовать ли для колонки типа справочник функцию COALESCE. Необязательный параметр, по умолчанию равен true. |
| use |
Признак, использовать ли для колонки значение для отображения. Необязательный параметр, по умолчанию равен false. |
Возвращает коллекцию выражений колонок запроса к схеме объекта по заданной коллекции путей к колонкам columnPaths.
Возвращает коллекцию выражений колонок запроса к схеме объекта по заданному массиву путей к колонкам. При этом, если колонка имеет тип множественный справочник, к ее значениям не применяется функция COALESCE.
Возвращает выражение запроса к схеме объекта по заданным пути к колонке, корневой схеме и экземпляру колонки схемы. При этом для колонки можно определить, какой тип ее значения использовать в выражении — хранимое значение или значение для отображения.
Возвращает выражение подзапроса к схеме объекта для колонки, расположенной по заданному пути leftExprColumnPath.
Возвращает экземпляр агрегирующей функции EntitySchemaAggregationQueryFunction с заданным типом агрегации из перечисления Terrasoft.Common.AggregationTypeStrict для колонки по указанному пути относительно корневой схемы columnPath.
Возвращает экземпляр CASE-функции EntitySchemaCaseNotNullQueryFunction для заданного массива выражений условий EntitySchemaCaseNotNullQueryFunctionWhenItem.
Возвращает экземпляр выражения для sql-конструкции вида WHEN <Выражение_1> IS NOT NULL THEN <Выражение_2>.
| when |
Путь к колонке, содержащей выражение предложения WHEN. |
| then |
Путь к колонке, содержащей выражение предложения THEN. |
Возвращает экземпляр CAST-функции EntitySchemaCastQueryFunction для выражения колонки, расположенной по заданному пути относительно корневой схемы columnPath, и указанным целевым типом данных DBDataValueType.
Возвращает экземпляр функции, возвращающей первое не равное null выражение из списка аргументов, для заданных колонок.
| column |
Массив путей к колонкам относительно корневой схемы. |
| parent |
Запрос к схеме объекта, для которого создается экземпляр функции. |
| root |
Корневая схема. |
Возвращает экземпляр функции для формирования строки, являющейся результатом объединения строковых значений аргументов функции для заданного массива выражений EntitySchemaQueryExpression.
Возвращает экземпляр DATEPART-функции EntitySchemaDatePartQueryFunction, определяющей интервал даты, заданный перечислением EntitySchemaDatePartQueryFunctionInterval (месяц, день, час, год, день недели...), для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, определяющей интервал даты День для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Час для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Минута для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Месяц для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты День недели для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Неделя для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Год для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaIsNullQueryFunction для колонок с проверяемым и замещающим значениями, которые расположены по заданным путям относительно корневой схемы.
Создание экземпляра функции LEN (функция для возврата длины выражения) для выражения колонки по заданному пути относительно корневой схемы или для заданного массива выражений.
Возвращает экземпляр функции TRIM (функция для удаления начальных и конечных пробелов из выражения) для выражения колонки по заданному пути относительно корневой схемы или для заданного массива выражений.
Возвращает экземпляр функции EntitySchemaUpperQueryFunction, для преобразования символов выражения аргумента к верхнему регистру, для выражения колонки по заданному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaCurrenddateQueryFunction, определяющей текущую дату.
Возвращает экземпляр функции EntitySchemaCurrenddateTimeQueryFunction, определяющей текущие дату и время.
Возвращает экземпляр функции EntitySchemaCurrentTimeQueryFunction, определяющей текущее время.
Возвращает экземпляр функции EntitySchemaCurrentUserAccountQueryFunction, определяющей идентификатор контрагента текущего пользователя.
Возвращает экземпляр функции EntitySchemaCurrentUserContactQueryFunction, определяющей идентификатор контакта текущего пользователя.
Возвращает экземпляр функции EntitySchemaCurrentUserQueryFunction, определяющей текущего пользователя.
Создает фильтр сравнения типа Существует по заданному условию и устанавливает в качестве проверяемого значения выражение колонки, расположенной по пути rightExpressionColumnPath.
Создает фильтр запроса для выборки записей по определенным условиям.
| comparison |
Тип сравнения из перечисления Terrasoft.Core.Entities.FilterComparisonType. |
| left |
Путь к колонке, содержащей выражение левой части фильтра. |
| left |
Выражение в левой части фильтра. |
| left |
Тип агрегирующей функции. |
| left |
Параметр, в котором возвращается подзапрос для выражения в левой части фильтра (если он не равен null) либо подзапрос для первого выражения в правой части фильтра (если выражение левой части фильтра равно null). |
| right |
Массив путей к колонкам, содержащим выражения правой части фильтра. |
| right |
Выражение в правой части фильтра. |
| right |
Экземпляр функции выражения в правой части фильтра (тип параметра EntitySchemaQueryFunction ) или выражение подзапроса в правой части фильтра (тип параметра EntitySchemaQuery). |
| right |
Значение, которое обрабатывается макросом в правой части фильтра. |
| right |
Значение параметра, к которому применяется агрегирующая функция в правой части фильтра. |
| macros |
Тип макроса из перечисления Terrasoft.Core.Entities.EntitySchemaQueryMacrosType. |
| days |
Значение, к которому применяется макрос в правой части фильтра. Необязательный параметр, по умолчанию равен 0. |
Создает параметризированный фильтр для выборки записей по определенным условиям.
| parent |
Родительский запрос, для которого создается фильтр. |
| root |
Корневая схема. |
| comparison |
Тип сравнения из перечисления Terrasoft.Core.Entities.FilterComparisonType. |
| use |
Признак типа значения колонки, которое используется в фильтре: true - значение для отображения; false - хранимое значение. |
| left |
Путь к колонке, содержащей выражение левой части фильтра. |
| right |
Коллекция выражений параметров в правой части фильтра. |
Создает фильтр сравнения типа Не является null в базе данных, устанавливая в качестве проверяемого значения выражение колонки, расположенной по указанному в параметре leftExpressionColumnPath пути.
Создает фильтр сравнения типа Является null в базе данных, устанавливая в качестве условия проверки выражение колонки, расположенной по указанному в параметре leftExpressionColumnPath пути.
Создает фильтр сравнения типа Не существует по заданному условию и устанавливает в качестве проверяемого значения выражение колонки, расположенной по пути rightExpressionColumnPath.
Возвращает результат выполнения текущего запроса к схеме объекта в виде таблицы данных в памяти, используя пользовательское подключение UserConnection.
Возвращает порядковый номер дня недели для объекта System.DayOfWeek с учетом региональных настроек.
Возвращает экземпляр Entity по первичному ключу primaryColumnValue, используя пользовательское подключение UserConnection.
Возвращает коллекцию экземпляров Entity, представляющих результаты выполнения текущего запроса, используя пользовательское подключение UserConnection и заданные дополнительные настройки запроса EntitySchemaQueryOptions.
Возвращает экземпляр схемы объекта EntitySchema текущего экземпляра EntitySchemaQuery.
Возвращает экземпляр запроса на выборку данных, используя пользовательское подключение UserConnection и заданные дополнительные настройки запроса EntitySchemaQueryOptions.
Возвращает коллекцию выражений колонок запроса, для которых вычисляются итоговые значения.
Возвращает экземпляр Entity для результата, возвращаемого запросом на выборку итоговых значений.
| user |
Пользовательское подключение. |
| summary |
Коллекция колонок запроса, для которых выбираются итоговые значения. |
| column |
Коллекция имен колонок. |
Строит запрос на выборку итоговых значений для заданной коллекции колонок текущего экземпляра EntitySchemaQuery.
| user |
Пользовательское подключение. |
| summary |
Коллекция колонок запроса, для которых выбираются итоговые значения. |
| column |
Коллекция имен колонок. |
Возвращает типизированное значение колонки с именем columnName из переданного экземпляра Entity.
Загружает результат выполнения текущего запроса к схеме объекта в объект System.Data.DataTable, используя пользовательское подключение UserConnection и заданные дополнительные настройки запроса EntitySchemaQueryOptions.
Удаляет колонку с именем columnName из коллекции колонок текущего запроса.
Очищает схему текущего экземпляра EntitySchemaQuery.
Очищает запрос на выборку для текущего запроса к схеме объекта.
Устанавливает идентификатор локальной культуры.