Доступ к базе данных предоставляет группа классов серверного ядра приложения, перечисленные ниже. С их помощью можно выполнять весь набор CRUD-операций, учитывать права доступа текущего пользователя, помещать полученные данные в хранилища кэша.
Получение данных из базы
Select
Класс Terrasoft.Core.DB.Select предназначен для построения запросов выборки записей из таблиц базы данных. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения SELECT. В запрос можно добавить требуемые колонки, фильтры и условия ограничений. Результаты выполнения запроса возвращаются в виде экземпляра, реализующего интерфейс System.Data.IDataReader, либо скалярного значения требуемого типа.
При работе с классом Select не учитываются права доступа пользователя, использующего текущее соединение. Доступны абсолютно все записи из базы данных приложения. Также не учитываются данные, помещенные в хранилище кэша. Если необходимы дополнительные возможности по управлению правами доступа и работе с хранилищем кэша Creatio, следует использовать класс EntitySchemaQuery.
EntitySchemaQuery
Класс Terrasoft.Core.Entities.EntitySchemaQuery предназначен для построения запросов выборки записей из таблиц базы данных с учетом прав доступа текущего пользователя. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения SELECT. В запрос можно добавить требуемые колонки, фильтры и условия ограничений.
Класс EntitySchemaQuery реализует механизм работы с хранилищем (кэшем Creatio либо произвольным хранилищем, определенным пользователем). При выполнении запроса EntitySchemaQuery данные, полученные из базы данных на сервере, помещаются в кэш. В качестве кэша запроса может выступать произвольное хранилище, которое реализует интерфейс Terrasoft.Core.Store.ICacheStore. По умолчанию в качестве кэша запроса EntitySchemaQuery выступает кэш Creatio уровня сессии (данные доступны только в сессии текущего пользователя) с локальным хранением данных.
Для запросов EntitySchemaQuery можно определить дополнительные настройки, которые задают параметры для постраничного вывода результатов выполнения запроса, а также параметры построения иерархического запроса. Для этого предназначен класс Terrasoft.Core.Entities.EntitySchemaQueryOptions.
Результатом выполнения запроса EntitySchemaQuery является экземпляр Terrasoft.Nui.ServiceModel.DataContract.EntityCollection (коллекция экземпляров класса Terrasoft.Core.Entities.Entity). Каждый экземпляр Entity в коллекции представляет собой строку набора данных, возвращаемого запросом.
Особенности EntitySchemaQuery
1. Поддержка прав доступа
Запрос на выборку данных EntitySchemaQuery строится таким образом, чтобы учитывать права текущего пользователя. В результирующий набор попадут только те данные, к которым текущий пользователь имеет доступ согласно его правам. Дополнительно для EntitySchemaQuery можно регулировать условия наложения прав на связанные таблицы, присутствующие в запросе (которые присоединяются к запросу предложением JOIN). Эти условия определяются значением свойства JoinRightState экземпляра EntitySchemaQuery.
2. Механизм кеширования
В EntitySchemaQuery реализован механизм работы с хранилищем (кэшем Creatio либо произвольным хранилищем, определенным пользователем). При выполнении запроса EntitySchemaQuery данные, полученные из базы данных на сервере, помещаются в кэш. В качестве кэша запроса может выступать произвольное хранилище, которое реализует интерфейс ICacheStore. По умолчанию в качестве кэша запроса EntitySchemaQuery выступает кэш Creatio уровня сессии (данные доступны только в сессии текущего пользователя) с локальным хранением данных. Кэш запроса определяется свойством Cache экземпляра EntitySchemaQuery. С помощью свойства CacheItemName задается ключ доступа к кэшу запроса (пример 4).
3. Дополнительные настройки запроса
Для запросов EntitySchemaQuery можно определить дополнительные настройки, которые задают параметры для постраничного вывода результатов выполнения запроса, а также параметры построения иерархического запроса. Для этого предназначен класс EntitySchemaQueryOptions.
Свойства класса EntitySchemaQueryOptions:
- HierarchicalColumnName — имя колонки, использующейся для построения иерархического запроса;
- HierarchicalColumnValue — начальное значение иерархической колонки, от которого будет строиться иерархия;
- HierarchicalMaxDepth — максимальный уровень вложенности иерархического запроса;
- PageableConditionValues — значения условий постраничного вывода;
- PageableDirection — направление постраничного вывода;
- PageableRowCount — количество записей страницы результирующего набора данных, возвращаемого запросом.
Один и тот же экземпляр EntitySchemaQueryOptions можно использовать для получения результатов выполнения различных запросов, передавая его в качестве параметра методу GetEntityCollection() соответствующего запроса (Примеры EntitySchemaQuery).
Добавление данных
Insert
Класс Terrasoft.Core.DB.Insert предназначен для построения запросов на добавление записей в таблицы базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения INSERT. В результате выполнения запроса возвращается количество задействованных запросом записей.
InsertSelect
Класс Terrasoft.Core.DB.InsertSelect предназначен для построения запросов на добавление записей в таблицы базы данных Creatio. При этом в качестве источника добавляемых данных используется экземпляр класса Terrasoft.Core.DB.Select. В результате создания и конфигурирования экземпляра Terrasoft.Core.DB.InsertSelect будет построен запрос базу данных приложения в виде SQL-выражения INSERT INTO SELECT.
При работе с классом InsertSelect на добавленные записи не применяются права доступа по умолчанию. К таким записям не применены вообще никакие права приложения (по операциям на объект, по записям, по колонкам). Пользовательское соединение используется только для доступа к таблице базы данных.
После выполнения запроса InsertSelect в базу данных будет добавлено столько записей, сколько вернется в его подзапросе Select.
Изменение данных
Класс Terrasoft.Core.DB.Update предназначен для построения запросов на изменение записей в таблице базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос базу данных приложения в виде SQL-выражения UPDATE.
Удаление данных
Класс Terrasoft.Core.DB.Delete предназначен для построения запросов на удаление записей в таблице базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос базу данных приложения в виде SQL-выражения DELETE.
Работа с сущностью базы данных
Класс Terrasoft.Core.Entities.Entity предназначен для доступа к объекту, который представляет собой запись в таблице базы данных. Он также может использоваться для добавления, изменения и удаления определенных записей.
Корневая схема
Корневая схема — это схема (таблица в базе данных), относительно которой выполняется построение путей ко всем колонкам в запросе, в том числе к колонкам присоединяемых таблиц.
При построении путей к колонкам применяется принцип связей через справочные поля. Имя произвольной колонки, добавляемой в запрос, можно построить в виде цепочки взаимосвязанных звеньев, каждое из которых представляет собой "контекст" конкретной схемы, которая связывается с предыдущей по внешнему ключу.

В общем случае формат построения имени произвольной колонки из схемы N можно представить в следующем виде:
[Контекст схемы 1].[...].[Контекст схемы N].[Имя_колонки]
Многопоточность при работе с базой данных
Использование нескольких потоков при работе с базой данных через UserConnection может привести к проблемам синхронизации старта и коммита транзакций.
Пример неправильного использования
Ниже приведен фрагмент исходного кода, в котором DBExecutor используется неправильно. Нельзя выполнять вызов методов экземпляра DBExecutor в параллельных потоках.
Пример правильного использования
Ниже приведен фрагмент исходного кода, в котором DBExecutor используется корректно. Вызов методов экземпляра DBExecutor производится последовательно, в одном потоке.
Отдельный пул запросов
Некоторые "тяжелые" запросы к БД могут нагружать ресурсы сервера БД на 100% в течение продолжительного времени и тем самым затруднять или сделать невозможной работу других пользователей. Виды "тяжелых" запросов:
- Неоптимально составленные запросы в динамических группах, блоках итогов.
- Сложные аналитические выборки в блоках итогов.
Очевидно, что для решения проблемы необходимо ограничить ресурсы выделяемые сервером БД на обработку таких Select-запросов, — вынести их в отдельный пул. Это позволит уменьшить их влияние на работу других пользователей и частей системы.
Реализация отдельного пула запросов
MS SQL Server позволяет ограничивать выделяемые ресурсы с помощью встроенного инструмента — Resource Governor. Однако, его возможности по ранжированию базируются на информации о подключении, а не о конкретном запросе. Поскольку приложение Creatio для любых запросов использовало подключения из единственного пула, все подключения были одинаковыми и не пригодными для ранжирования.
Чтобы разделить легкие и потенциально "тяжелые" запросы была добавлена возможность отправлять запросы через специальное соединение, в котором к свойству App (или Application Name) строки соединения дописывается суффикс "_Limited".
Например, если в файле ConnectionStrings.config указать в строке соединения свойство "App = сreatio", то в соединении для отдельного пула запросов оно будет заменено на "сreatio_Limited". Если в ConnectionStrings.config не указано свойство App (или Application Name), то для общего соединения устанавливается значение по умолчанию ".Net SqlClient DataProvider", а в соединении для отдельного пула запросов — ".Net SqlClient DataProvider_Limited".
Таким образом, при загрузке дашбордов или фильтрации разделов с помощью динамических групп приложение создает дополнительные соединения с БД, отличающиеся от основных суффиксом "_Limited".
Разделение пулов позволит администраторам БД регулировать выделение ресурсов запросам из маркированного соединения.
Включение функциональности отдельного пула запросов
Для включения функциональности необходимо в файле .\Terrasoft.WebApp\Web.config приложения установить значение true для настройки UseQueryKinds.
Эта настройка обеспечивает отправку запросов из дашбордов и динамических групп в соединения, помеченные суффиксом "_Limited".
Настройка Resource Governor
Настройка групп и пула выполняется с помощью SQL-скрипта.
Более детально о настройках можно узнать в Документации по Resource Governor.
Для каждого нового соединения выполняется функция классификатор, возвращающая название группы.
Выполнение запроса в отдельном пуле запросов
Чтобы выполнить запрос в отдельном пуле запросов, для него нужно получить специальный DBExecutor, передав в качестве дополнительного параметра значение "Limited" из перечисления QueryKind. Подробнее о DBExecutor можно узнать из статьи Многопоточность при работе базой данных. В примере ниже QueryKind — это аргумент метода EnsureDBConnection(), значение которого приходит в клиентском ESQ-запросе, и устанавливается в серверный ESQ-запрос и далее в запрос Select.
Вызов EnsureDBConnection(QueryKind.General) эквивалентен вызову EnsureDBConnection() без указания QueryKind.
Таким образом, если в клиентской части приложения при создании экземпляра класса Terrasoft.EntitySchemaQuery установить признак QueryKind.Limited, то это значение будет передано на сервер и запросу будет обеспечен специальный DBExecutor, использующих маркированное соединение с БД.
Работа с PostgreSQL
Общие рекомендации:
- Не рекомендуется использовать для создания триггеров, представлений, функций команду CREATE OR REPLACE. Вместо этого используйте конструкцию DROP … IF EXISTS (при необходимости можно использовать команду CASCADE), а затем CREATE OR REPLACE.
- Вместо схемы "dbo" используйте "public".
- Учитывайте регистрозависимость системных имен, используйте кавычки ("") для имен таблиц, колонок и т.д..
- Вместо типа BIT в MS SQL используйте в Postgres тип BOOL. Для проверки значения поля типа BOOL необязательно использовать конструкцию WHERE "boolColumn" = true, достаточно WHERE "boolColumn" или WHERE NOT "boolColumn".
- В Postgres можно использовать сокращенный вид явного преобразования ::TEXT.
- В Postgres при сравнении строк учитывается регистр. Для выполнения регистронезависимого сравнения можно использовать ключевое слово iLIKE. Однако учитывайте, что сравнение при этом значительно более медленное, чем при использовании комбинации UPPER+LIKE. Кроме того у комбинации UPPER+LIKE менее строгие правила применимости индексов, чем у iLIKE.
- Если нет какого-либо неявного приведения типов, то его можно создать с помощью команды CREATE CAST. Подробнее об этом читайте в документации PostgreSQL.
- В Postgres нет встроенной функции NESTLEVEL в рекурсивных процедурах. Для хранения текущего уровня рекурсии следует создавать специальный параметр процедуры.
- Вместо типа SYSNAME используйте тип NAME.
- Вместо пустых INSTEAD-триггеров создавайте правила, например:
- При выполнении команды UPDATE в Postgres не работает неявное преобразование типа INT в тип BOOL, даже при наличии соответствующего оператора CAST. Следует явно привести INT -значение к типу BOOL.
- Способы форматирования строковых литералов подробно описаны на сайте документации PostgreSQL:
- Вместо @@ROWCOUNT используйте следующую конструкцию:
- Вместо конструкции в MS SQL
Соответствие типов данных
Тип данных в дизайнере объекта Creatio | Тип данных в MS SQL | Тип данных в PostgreSQL |
---|---|---|
BLOB | VARBINARY | BYTEA |
Boolean | BIT | BOOLEAN |
Color | NVARCHAR | CHARACTER VARYING |
CRC | NVARCHAR | CHARACTER VARYING |
Currency | DECIMAL | NUMERIC |
Date | DATE | DATE |
Date/Time | DATETIME2 | TIMESTAMP WITHOUT TIME ZONE |
Decimal (0.00000001) | DECIMAL | NUMERIC |
Decimal (0.0001) | DECIMAL | NUMERIC |
Decimal (0.001) | DECIMAL | NUMERIC |
Decimal (0.01) | DECIMAL | NUMERIC |
Decimal (0.1) | DECIMAL | NUMERIC |
Encrypted string | NVARCHAR | CHARACTER VARYING |
File | VARBINARY | BYTEA |
Image | VARBINARY | BYTEA |
Image Link | UNIQUEIDENTIFIER | UUID |
Integer | INTEGER | INTEGER |
Lookup | UNIQUEIDENTIFIER | UUID |
Text (250 characters) | NVARCHAR(250) | CHARACTER VARYING |
Text (50 characters) | NVARCHAR(50) | CHARACTER VARYING |
Text (500 characters) | NVARCHAR(500) | CHARACTER VARYING |
Time | TIME | TIME WITHOUT TIME ZONE |
Unique identifier | UNIQUEIDENTIFIER | UUID |
Unlimited length text | NVARCHAR(MAX) | TEXT |
Привязка SQL-сценария к пакету
Если в пакете привязаны SQL-сценарии, например, для MS SQL, то для работы с Postgres создайте скрипт, который выполняет те же функции, но использует синтаксис PostgreSQL. Для этого на вкладке SQL-сценарии добавьте скрипт с типом СУБД PostgreSql.

Функциональность многострочной вставки доступна на уровне класса Insert и ее работа определяется методом Values().
При вызове метода Values() все последующие вызовы Set() попадают в новый экземпляр ColumnsValues. При построении запроса, если в коллекции ColumnsValuesCollection встречается более одного набора данных, то будет построен запрос с несколькими блоками Values().
В результате будет сформирован следующий SQL-запрос.
Особенности использования
- При использовании Column.Parameter в выражении Set() необходимо помнить про ограничение 2100 параметров в MS SQL.
-
Класс Insert не может самостоятельно разбивать запрос на несколько, если в нем находится больше параметров, чем нужно. Разбиение на несколько запросов должно быть реализовано разработчиком.
-
Класс Insert() не проводит валидацию на соответствие количества колонок и количества условий Set(). Например, есть результирующий SQL-запрос:
В таком случае возникнет исключение на уровне работы СУБД. Подобная валидация не лежит в зоне ответственности класса Insert и зависит только от разработчика.
В большинстве случаев запрос на изменение данных должен содержать условие Where, которое уточняет какие именно записи необходимо изменить. Если не указать условие Where, то будут изменены все записи.
Пример 1
Пример 2
Условие Where относится к запросу Select. Запрос Update не содержит условия Where, поскольку необходимо изменить все записи.
Пространство имен Terrasoft.Core.Entities.
Класс Terrasoft.Core.Entities.Entity предназначен для доступа к объекту, который представляет собой запись в таблице базы данных.
Конструкторы
Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection.
Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection и схемы заданной идентификатором schemaUId.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Тип изменения состояния объекта (добавлен, изменен, удален, без изменений).
Экземпляр менеджера схемы объекта.
Имя менеджера схемы объекта.
Определяет, имеет ли объект хотя бы одну колонку.
Значение колонки связи с родительской записью для иерархических объектов.
Идентификатор экземпляра объекта.
Определяет, удален ли объект из базы данных.
Определяет, выполняется ли обработка события ColumnValueChanged.
Определяет, выполняется ли обработка события ColumnValueChanging.
Определяет, выполняется ли обработка события DefColumnValuesSet.
Определяет, выполняется ли обработка события Deleted.
Определяет, выполняется ли обработка события Deleting.
Определяет, выполняется ли обработка события Inserted.
Определяет, выполняется ли обработка события Inserting.
Определяет, выполняется ли обработка события Loaded.
Определяет, выполняется ли обработка события Loading.
Определяет, выполняется ли обработка события Saved.
Определяет, выполняется ли обработка события SaveError.
Определяет, выполняется ли обработка события Saving.
Определяет, выполняется ли обработка события Updated.
Определяет, выполняется ли обработка события Updating.
Определяет, выполняется ли обработка события Validating.
Определяет, является ли схема объекта проинициализированной.
Префикс лицензируемой операции.
Состояние загрузки объекта.
Идентификатор первичной колонки.
Значение для отображения первичной колонки.
Встроенный процесс объекта.
Экземпляр схемы объекта.
Имя схемы объекта.
Состояние объекта (изменен, добавлен, удален, без изменений).
Определяет, будут ли учитываться права при вставке, обновлении, удалении и получении данных.
Определяет, использовать ли права по умолчанию на объект.
Определяет, использовать ли ленивую первоначальную загрузку данных объекта.
Пользовательское подключение.
Коллекция сообщений, выводимых при проверке объекта.
Экземпляр менеджера перечислений объекта.
Имя менеджера перечислений объекта.
Методы
Для данного объекта устанавливает права по умолчанию.
primary |
Идентификатор значения права доступа. |
primary |
Массив идентификаторов значений прав доступа. |
Создает клон текущего экземпляра Entity.
Создает запрос на добавление данных в базу.
skip |
Признак добавления данных с учетом справочных колонок. По умолчанию установлено значение false. |
Создает запрос на обновление данных в базе.
skip |
Параметр, определяющий необходимость добавления в базу данных колонок типа справочник. Если параметр равен true, то колонки типа справочник не будут добавлены в базу. Значение по умолчанию — false. |
Удаляет из базы данных запись объекта.
key |
Значение ключевого поля. |
Удаляет из базы данных запись объекта и отменяет запущенный процесс.
Создает объект типа Entity, используя пользовательское подключение userConnection, и заполняет значения его полей из указанной строки формата JSON jsonValue.
json |
Строка формата JSON. |
user |
Пользовательское подключение. |
Определяет, существует ли в базе данных запись, отвечающая заданному условию запроса conditionValue к заданной колонке схемы объекта conditionColumn либо с заданным первичным ключом keyValue.
condition |
Колонка, для которой задается условие выборки. |
condition |
Название колонки, для которой задается условие выборки. |
condition |
Значение колонки условия для выбираемых данных. |
conditions | Набор условий фильтрации выборки записей объекта. |
key |
Значение ключевого поля. |
По заданному условию загружает объект из базы данных.
condition |
Колонка, для которой задается условие выборки. |
condition |
Название колонки, для которой задается условие выборки. |
condition |
Значение колонки условия для выбираемых данных. |
columns |
Список колонок, которые будут выбраны. |
column |
Список названий колонок, которые будут выбраны. |
conditions | Набор условий фильтрации выборки записей объекта. |
key |
Значение ключевого поля. |
use |
Признак получения в запросе первичных отображаемых значений. Если параметр равен true, в запросе будут возвращены первичные отображаемые значения. |
По заданному условию keyValue загружает из базы данных объект с первичной колонкой.
key |
Значение ключевого поля. |
По заданному условию загружает из базы данных объект с первичными колонками, включая колонку, первичную для отображения.
condition |
Колонка, для которой задается условие выборки. |
condition |
Название колонки, для которой задается условие выборки. |
condition |
Значение колонки условия для выбираемых данных. |
Возвращает значение заданной колонки объекта в виде массива байт.
value |
Имя колонки объекта. |
Возвращает коллекцию имен колонок объекта, которые были изменены.
Возвращает значение для отображения свойства объекта, соответствующее заданной колонке схемы объекта.
column | Определенная колонка схемы объекта. |
Возвращает предыдущее значение заданного свойства объекта.
column | Определенная колонка схемы объекта. |
value |
Имя колонки объекта. |
Возвращает значение колонки объекта с заданным именем, cоответствующее переданной колонке схемы объекта.
column | Определенная колонка схемы объекта. |
value |
Имя колонки объекта. |
Возвращает коллекцию имен колонок объекта.
Возвращает признак, определяющий, загружено ли заданное свойство объекта.
column | Определенная колонка схемы объекта. |
value |
Имя колонки объекта. |
Возвращает преобразованное в экземпляр типа System.IO.MemoryStream значение переданной колонки схемы объекта.
value |
Имя колонки объекта. |
Возвращает типизированное значение свойства объекта, соответствующее заданной колонке схемы объекта.
column | Определенная колонка схемы объекта. |
Возвращает типизированное предыдущее значение свойства объекта, соответствующее заданной колонке схемы объекта.
column | Определенная колонка схемы объекта. |
value |
Имя колонки объекта. |
Добавляет запись текущего объекта в базу данных.
skip |
Параметр, определяющий необходимость добавления в базу данных колонок типа справочник. Если параметр равен true, то колонки типа справочник не будут добавлены в базу. Значение по умолчанию — false. |
validate |
Параметр, определяющий необходимость проверки заполнения обязательных значений. Значение по умолчанию — true. |
Определяет, загружено ли значение свойства объекта с заданным именем.
column | Определенная колонка схемы объекта. |
value |
Имя колонки объекта. |
Заполняет объект переданными данными.
column |
Свойства объекта, заполняемые данными. |
data |
Экземпляр System.Data.DataRow, из которого загружаются данные в объект. |
data |
Экземпляр System.Data.IDataReader, из которого загружаются данные. |
data |
Экземпляр System.Object, из которого загружаются данные. |
Для свойства с заданным именем загружает его значение из переданного экземпляра.
binary |
Размер загружаемого значения. |
column | Колонка схемы объекта. |
column |
Имя свойства объекта. |
data |
Экземпляр System.Data.IDataReader, из которого загружается значение свойства. |
field |
Индекс загружаемого из System.Data.IDataReader поля. |
value | Загружаемое значение свойства. |
Возвращает значение текущего свойства типа Entity из потока ввода.
data |
Экземпляр System.Data.IDataReader, из которого загружается значение свойства. |
user |
Пользовательское подключение. |
Считывает данные из схемы объекта в заданный объект типа System.Data.IDataReader.
reader | Экземпляр System.Data.IDataReader, в который загружаются данные схемы объекта. |
schema | Схема объекта. |
Для всех свойств объекта отменяет изменения.
Для всех свойств объекта отменяет изменения, устанавливая предыдущее значение.
Сохраняет объект в базе данных.
validate |
Определяет необходимость проверки заполнения обязательных значений. Значение по умолчанию — true. |
Преобразует объект entity в строку формата JSON.
entity | Экземпляр Entity. |
Устанавливает для заданного свойства объекта переданное значение типа System.Byte.
stream |
Значение типа System.Byte, которое устанавливается в заданную колонку объекта. |
value |
Имя колонки объекта. |
Устанавливает свойству объекта, соответствующему заданной колонке схемы, переданные значение value и значение для отображения displayValue.
column | Колонка схемы объекта. |
display |
Загружаемое значение для отображения. |
display |
Имя колонки, содержащей значение для отображения. |
value | Загружаемое значение колонки. |
Устанавливает заданной колонке схемы переданное значение value.
column | Колонка схемы объекта. |
value | Загружаемое значение колонки. |
value |
Имя колонки объекта. |
Устанавливает значение по умолчанию свойству с заданным именем.
column |
Имя колонки объекта. |
def |
Значение по умолчанию. |
Для всех свойств объекта устанавливает значения по умолчанию.
Устанавливает для заданного свойства объекта переданное значение типа System.IO.Stream.
value | Загружаемое значение колонки. |
value |
Имя колонки объекта. |
Обновляет запись объекта в базе данных.
validate |
Определяет необходимость проверки заполнения обязательных значений. Значение по умолчанию — true. |
Проверяет заполнение обязательных полей.
Осуществляет запись значения типа Entity в поток вывода с заданными именем.
could |
Разрешить преобразование для xml-сериализации. |
data |
Экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода. |
entity | Значение для записи типа Entity. |
property |
Имя объекта. |
Осуществляет запись данных в поток вывода с заданным именем.
data |
Экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода. |
property |
Имя свойства. |
Осуществляет запись в поток вывода для указанной либо текущей схемы объекта.
schema | Схема объекта. |
writer | Экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода. |
События
Обработчик события, возникающего после изменения значения колонки объекта.
Обработчик события получает аргумент типа EntityColumnAfterEventArgs.
Свойства EntityColumnAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnValueName;
- DisplayColumnValueName.
Обработчик события, возникающего перед изменением значения колонки объекта.
Обработчик события получает аргумент типа EntityColumnBeforeEventArgs.
Свойства EntityColumnBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnStreamValue.
- ColumnValue.
- ColumnValueName.
- DisplayColumnValue.
- DisplayColumnValueName.
Обработчик события, возникающего после установки значений по умолчанию полей объекта.
Обработчик события, возникающего после удаления объекта.
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues.
- PrimaryColumnValue.
Обработчик события, возникающего перед удалением объекта.
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition.
- IsCanceled.
- KeyValue.
Обработчик события, возникающего после вставки объекта.
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues.
- PrimaryColumnValue.
Обработчик события, возникающего перед вставкой объекта.
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition.
- IsCanceled.
- KeyValue.
Обработчик события, возникающего после загрузки объекта.
Обработчик события получает аргумент типа EntityAfterLoadEventArgs.
Свойства EntityAfterLoadEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnMap.
- DataSource.
Обработчик события, возникающего перед загрузкой объекта.
Обработчик события получает аргумент типа EntityBeforeLoadEventArgs.
Свойства EntityBeforeLoadEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnMap.
- DataSource.
- IsCanceled.
Обработчик события, возникающего после сохранения объекта.
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues.
- PrimaryColumnValue.
Обработчик события, возникающего при ошибке сохранения объекта.
Обработчик события получает аргумент типа EntitySaveErrorEventArgs.
Свойства EntitySaveErrorEventArgs предоставляющие сведения, относящиеся к событию:
- Exception.
- IsHandled.
Обработчик события, возникающего перед сохранением объекта.
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition.
- IsCanceled.
- KeyValue.
Обработчик события, возникающего после обновления объекта.
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues.
- PrimaryColumnValue.
Обработчик события, возникающего перед обновлением объекта.
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition.
- IsCanceled.
- KeyValue.
Обработчик события, возникающего при проверке объекта.
Обработчик события получает аргумент типа EntityValidationEventArgs.
Свойства EntityValidationEventArgs предоставляющие сведения, относящиеся к событию:
- Messages.
Пространство имен Terrasoft.Core.DB.
Класс Terrasoft.Core.DB.Select предназначен для построения запросов выборки записей из таблиц базы данных. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения SELECT. В запрос можно добавить требуемые колонки, фильтры и условия ограничений. Результаты выполнения запроса возвращаются в виде экземпляра, реализующего интерфейс System.Data.IDataReader, либо скалярного значения требуемого типа.
Конструкторы
Создает экземпляр класса с указанным UserConnection.
Создает экземпляр класса с указанным UserConnection и токеном отмены выполнения управляемого потока.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Пользовательское подключение, используемое при выполнении запроса.
Количество записей, которые вернет запрос после выполнения.
Коллекция параметров запроса.
Определяет наличие параметров у запроса.
Определяет, добавлять ли параметры запроса в текст запроса как значения.
Коллекция выражений Join в запросе.
Определяет наличие выражений Join в запросе.
Условие выражения Where запроса.
Определяет наличие выражения Where в запросе.
Условие выражения Having запроса.
Определяет наличие выражения Having в запросе.
Коллекция выражений, по которым выполняется сортировка результатов запроса.
Определяет наличие условий сортировки результатов запроса.
Коллекция выражений, по которым выполняется группировка результатов запроса.
Определяет наличие условий группировки результатов запроса.
Определяет, должен ли запрос возвращать только уникальные записи.
Коллекция выражений колонок запроса.
Определяет возможность постраничного возврата результата запроса.
Количество строк, которые необходимо пропустить при возврате результата запроса.
Тип запроса (см. статью Настройка отдельного пула запросов).
Методы
Очищает закэшированный текст запроса.
Возвращает коллекцию параметров, используемых запросом.
Очищает коллекцию параметров запроса.
Инициализирует коллекцию параметров запроса.
Выполняет запрос, используя экземпляр DBExecutor. Возвращает объект, реализующий интерфейс IDataReader.
dbExecutor | Экземпляр DBExecutor, который используется для выполнения запроса. |
Выполняет запрос, используя экземпляр DBExecutor. Возвращает объект, реализующий интерфейс IDataReader.
behavior | Предоставляет описание результатов запроса и их эффект на базу данных. |
dbExecutor | Экземпляр DBExecutor, который используется для выполнения запроса. |
Выполняет запрос, вызывая переданный метод делегата ExecuteReaderReadMethod для каждой записи результирующего набора.
readMethod | Метод делегата ExecuteReaderReadMethod. |
Выполняет запрос. Возвращает типизированный первый столбец первой записи результирующего набора.
Выполняет запрос, используя экземпляр DBExecutor. Возвращает типизированный первый столбец первой записи результирующего набора.
dbExecutor | Экземпляр DBExecutor, который используется для выполнения запроса. |
Добавляет к SQL-запросу ключевое слово DISTINCT. Исключает дублирование записей в результирующем наборе. Возвращает экземпляр запроса.
Устанавливает количество записей, возвращаемых в результирующем наборе. При этом меняется значение свойства RowCount. Возвращает экземпляр запроса.
rowCount | Количество первых записей результирующего набора. |
Добавляет указанный в аргументе псевдоним для последнего выражения запроса. Возвращает экземпляр запроса.
alias | Псевдоним выражения запроса. |
Добавляет выражение, подзапрос или параметр в коллекцию выражений колонок запроса. Возвращает экземпляр запроса.
sourceColumnAlias | Псевдоним колонки, для которой добавляется выражение. |
sourceAlias | Псевдоним источника, из которого добавляется выражение колонки. |
subSelect | Добавляемый подзапрос выборки данных. |
subSelectQuery | Добавляемый подзапрос. |
queryCase | Добавляемое выражение для оператора Case. |
queryParameter | Добавляемый параметр запроса. |
columnExpression | Выражение, для результатов которого добавляется условие. |
Добавляет в запрос источник данных. Возвращает экземпляр запроса.
schemaName | Название схемы. |
subSelect | Подзапрос выборки, результаты которого становятся источником данных для текущего запроса. |
subSelectQuery | Подзапрос, результаты которого становятся источником данных для текущего запроса. |
sourceExpression | Выражение источника данных запроса. |
Присоединяет к текущему запросу схему, подзапрос или выражение.
joinType | Тип присоединения. |
schemaName | Название присоединяемой схемы. |
subSelect | Присоединяемый подзапрос выборки данных. |
subSelectQuery | Присоединяемый подзапрос. |
sourceExpression | Присоединяемое выражение. |
Inner | Внутреннее соединение. |
LeftOuter | Левое внешнее соединение. |
RightOuter | Правое внешнее соединение. |
FullOuter | Полное соединение. |
Cross | Перекрестное соединение. |
Добавляет к текущему запросу начальное условие.
sourceColumnAlias | Псевдоним колонки, для которой добавляется условие. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки данных, для результатов которого добавляется условие. |
subSelectQuery | Подзапрос, для результатов которого добавляется условие. |
columnExpression | Выражение, для результатов которого добавляется условие. |
condition | Условие запроса. |
К текущему условию запроса добавляет условие (предикат), используя логическую операцию И.
sourceColumnAlias | Псевдоним колонки, для которой добавляется предикат. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки данных, используемый в качестве предиката. |
subSelectQuery | Подзапрос, используемый в качестве предиката. |
parameter | Параметр, для которого добавляется предикат. |
columnExpression | Выражение, используемое в качестве предиката. |
condition | Условие запроса. |
К текущему условию запроса добавляет условие (предикат), используя логическую операцию ИЛИ.
sourceColumnAlias | Псевдоним колонки, для которой добавляется предикат. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос на выборку данных, используемый в качестве предиката. |
subSelectQuery | Подзапрос, используемый в качестве предиката. |
parameter | Параметр, для которого добавляется предикат. |
columnExpression | Выражение, используемое в качестве предиката. |
condition | Условие запроса. |
Выполняет сортировку результатов запроса. Возвращает экземпляр запроса.
direction | Порядок сортировки. |
sourceColumnAlias | Псевдоним колонки, по которой выполняется сортировка. |
sourceAlias | Псевдоним источника. |
queryFunction | Функция, значение которой используется в качестве ключа сортировки. |
subSelect | Подзапрос на выборку данных, результаты которого используются в качестве ключа сортировки. |
subSelectQuery | Подзапрос, результаты которого используются в качестве ключа сортировки. |
columnExpression | Выражение, результаты которого используются в качестве ключа сортировки. |
Выполняет сортировку результатов запроса в порядке возрастания. Возвращает экземпляр запроса.
sourceColumnAlias | Псевдоним колонки, по которой выполняется сортировка. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос на выборку данных, результаты которого используются в качестве ключа сортировки. |
subSelectQuery | Подзапрос, результаты которого используются в качестве ключа сортировки. |
columnExpression | Выражение, результаты которого используются в качестве ключа сортировки. |
Выполняет сортировку результатов запроса в порядке убывания. Возвращает экземпляр запроса.
sourceColumnAlias | Псевдоним колонки, по которой выполняется сортировка. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки, результаты которого используются в качестве ключа сортировки. |
subSelectQuery | Подзапрос, результаты которого используются в качестве ключа сортировки. |
columnExpression | Выражение, результаты которого используются в качестве ключа сортировки. |
Выполняет группировку результатов запроса. Возвращает экземпляр запроса.
sourceColumnAlias | Псевдоним колонки, по которой выполняется группировка. |
sourceAlias | Псевдоним источника. |
columnExpression | Выражение, результаты которого используются в качестве ключа группировки. |
Добавляет в текущий запрос групповое условие. Возвращает экземпляр Terrasoft.Core.DB.QueryCondition, представляющий групповое условие для параметра запроса.
sourceColumnAlias | Псевдоним колонки, по которой добавляется групповое условие. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки, для результатов которого добавляется групповое условие. |
subSelectQuery | Подзапрос, для результатов которого добавляется групповое условие. |
parameter | Параметр запроса, для которого добавляется групповое условие. |
columnExpression | Выражение, используемое в качестве предиката. |
Объединяет результаты переданного запроса с результатами текущего запроса, исключая дубликаты из результирующего набора.
unionSelect | Подзапрос выборки. |
unionSelectQuery | Подзапрос. |
Объединяет результаты переданного запроса с результатами текущего запроса. Дубликаты из результирующего набора не исключаются.
unionSelect | Подзапрос выборки. |
unionSelectQuery | Подзапрос. |
Пространство имен Terrasoft.Core.Entities.
Класс Terrasoft.Core.Entities.EntitySchemaQuery предназначен для построения запросов выборки записей из таблиц базы данных с учетом прав доступа текущего пользователя. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения SELECT. В запрос можно добавить требуемые колонки, фильтры и условия ограничений.
Конструкторы
Создает экземпляр класса, в котором в качестве корневой схемы устанавливается переданный экземпляр EntitySchema. В качестве менеджера схем устанавливается менеджер переданного экземпляра корневой схемы.
Создает экземпляр класса с указанным EntitySchemaManager и корневой схемы с именем, переданным в качестве аргумента.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Кэш запроса.
Имя элемента кэша.
Определяет, попадут ли в результаты запроса данные, для которых не завершена транзакция.
Заголовок.
Количество строк запроса в одном чанке.
Коллекция колонок текущего запроса к схеме объекта.
Менеджер значений типов данных.
Менеджер схем объектов.
Коллекция фильтров текущего запроса к схеме объекта.
Определяет, будут ли скрыты значения зашифрованных колонок.
Определяет, будут ли в запросе использоваться отображаемые значения колонок.
Определяет, убирать ли дубли в результирующем наборе данных.
Определяет, является ли запрос унаследованным.
Определяет условие наложения прав при использовании связанных таблиц, если схема администрируется по записям.
Менеджер схем.
Элемент менеджера.
Имя.
Коллекция запросов, которой принадлежит текущий запрос к схеме объекта.
Родительская схема запроса.
Колонка, созданная по первичной колонке корневой схемы. Заполняется при первом обращении.
Разрешает использование оптимизации запроса.
Корневая схема.
Количество строк, возвращаемых запросом.
Префикс, используемый для создания псевдонимов схем.
Количество строк, которые необходимо пропустить при возврате результата запроса.
Определяет будут ли учитываться права при построении запроса получения данных.
Определяет, будут ли использоваться локализованные данные.
Определяет возможность постраничного возврата результата запроса.
Определяет, будут ли данные исключены из фильтрации.
Целочисленное свойство, которое соответствует критериям фильтрации записей по источнику вхождения пользователя в роли. Значение по умолчанию: 0.
Чтобы сформировать AdminUnitRoleSources, необходимо с помощью побитового ИЛИ "|" перечислить следующие константы из серверного класса AdminUnitRoleSources:
- ExplicitEntry.
- Delegated.
- FuncRoleFromOrgRole.
- UpHierarchy.
- AsManager.
- All.
- None.
В результате, отработает следующее правило: возвращать запись только, если у пользователя есть хоть одна роль, которой доступна запись, и пользователь входит в эту роль в соответствии с источниками, указанными в условиях фильтрации.
Методы
В коллекцию колонок текущего запроса к схеме объекта добавляет все колонки корневой схемы.
Создает и добавляет колонку в текущий запрос к схеме объекта.
columnPath | Путь к колонке схемы относительно корневой схемы. |
aggregationType | Тип агрегирующей функции. В качестве параметра передаются значения перечисления типов агрегирующей функции Terrasoft.Common.AggregationTypeStrict. |
subQuery | Ссылка на созданный подзапрос, помещенный в колонку. |
queryColumn | Экземпляр EntitySchemaQueryColumn, добавляемый в коллекцию колонок текущего запроса. |
function | Экземпляр функции EntitySchemaQueryFunction. |
parameterValue | Значение параметра, добавляемого в запрос в качестве колонки. |
parameterDataValueType | Тип значения параметра, добавляемого в запрос в качестве колонки. |
Очищает кэш текущего запроса.
Удаляет из кэша запроса элемент с заданным именем cacheItemName.
Создает клон текущего экземпляра EntitySchemaQuery.
Возвращает выражение агрегирующей функции с заданным типом агрегации из перечисления Terrasoft.Common.AggregationTypeStrict для колонки, расположенной по заданному пути leftExprColumnPath.
Создает выражение для параметра запроса.
parameterValue | Значение параметра. |
valueType | Тип значения параметра. |
displayValue | Значение для отображения параметра. |
Создает коллекцию выражений для параметров запроса с определенным типом данных DataValueType.
Возвращает выражение колонки схемы объекта.
parentQuery | Запрос к схеме объекта, для которого создается выражение колонки. |
rootSchema | Корневая схема. |
columnPath | Путь к колонке относительно корневой схемы. |
useCoalesceFunctionForMultiLookup | Признак, использовать ли для колонки типа справочник функцию COALESCE. Необязательный параметр, по умолчанию равен true. |
useDisplayValue | Признак, использовать ли для колонки значение для отображения. Необязательный параметр, по умолчанию равен false. |
Возвращает коллекцию выражений колонок запроса к схеме объекта по заданной коллекции путей к колонкам columnPaths.
Возвращает коллекцию выражений колонок запроса к схеме объекта по заданному массиву путей к колонкам. При этом, если колонка имеет тип множественный справочник, к ее значениям не применяется функция COALESCE.
Возвращает выражение запроса к схеме объекта по заданным пути к колонке, корневой схеме и экземпляру колонки схемы. При этом для колонки можно определить, какой тип ее значения использовать в выражении — хранимое значение или значение для отображения.
Возвращает выражение подзапроса к схеме объекта для колонки, расположенной по заданному пути leftExprColumnPath.
Возвращает экземпляр агрегирующей функции EntitySchemaAggregationQueryFunction с заданным типом агрегации из перечисления Terrasoft.Common.AggregationTypeStrict для колонки по указанному пути относительно корневой схемы columnPath.
Возвращает экземпляр CASE-функции EntitySchemaCaseNotNullQueryFunction для заданного массива выражений условий EntitySchemaCaseNotNullQueryFunctionWhenItem.
Возвращает экземпляр выражения для sql-конструкции вида WHEN <Выражение_1> IS NOT NULL THEN <Выражение_2>.
whenColumnPath | Путь к колонке, содержащей выражение предложения WHEN. |
thenParameterValue | Путь к колонке, содержащей выражение предложения THEN. |
Возвращает экземпляр CAST-функции EntitySchemaCastQueryFunction для выражения колонки, расположенной по заданному пути относительно корневой схемы columnPath, и указанным целевым типом данных DBDataValueType.
Возвращает экземпляр функции, возвращающей первое не равное null выражение из списка аргументов, для заданных колонок.
columnPaths | Массив путей к колонкам относительно корневой схемы. |
parentQuery | Запрос к схеме объекта, для которого создается экземпляр функции. |
rootSchema | Корневая схема. |
Возвращает экземпляр функции для формирования строки, являющейся результатом объединения строковых значений аргументов функции для заданного массива выражений EntitySchemaQueryExpression.
Возвращает экземпляр DATEPART-функции EntitySchemaDatePartQueryFunction, определяющей интервал даты, заданный перечислением EntitySchemaDatePartQueryFunctionInterval (месяц, день, час, год, день недели...), для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, определяющей интервал даты День для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Час для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Минута для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Месяц для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты День недели для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Неделя для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты Год для значения колонки, расположенной по указанному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaIsNullQueryFunction для колонок с проверяемым и замещающим значениями, которые расположены по заданным путям относительно корневой схемы.
Создание экземпляра функции LEN (функция для возврата длины выражения) для выражения колонки по заданному пути относительно корневой схемы или для заданного массива выражений.
Возвращает экземпляр функции TRIM (функция для удаления начальных и конечных пробелов из выражения) для выражения колонки по заданному пути относительно корневой схемы или для заданного массива выражений.
Возвращает экземпляр функции EntitySchemaUpperQueryFunction, для преобразования символов выражения аргумента к верхнему регистру, для выражения колонки по заданному пути относительно корневой схемы.
Возвращает экземпляр функции EntitySchemaCurrenddateQueryFunction, определяющей текущую дату.
Возвращает экземпляр функции EntitySchemaCurrenddateTimeQueryFunction, определяющей текущие дату и время.
Возвращает экземпляр функции EntitySchemaCurrentTimeQueryFunction, определяющей текущее время.
Возвращает экземпляр функции EntitySchemaCurrentUserAccountQueryFunction, определяющей идентификатор контрагента текущего пользователя.
Возвращает экземпляр функции EntitySchemaCurrentUserContactQueryFunction, определяющей идентификатор контакта текущего пользователя.
Возвращает экземпляр функции EntitySchemaCurrentUserQueryFunction, определяющей текущего пользователя.
Создает фильтр сравнения типа Существует по заданному условию и устанавливает в качестве проверяемого значения выражение колонки, расположенной по пути rightExpressionColumnPath.
Создает фильтр запроса для выборки записей по определенным условиям.
comparisonType | Тип сравнения из перечисления Terrasoft.Core.Entities.FilterComparisonType. |
leftExpressionColumnPath | Путь к колонке, содержащей выражение левой части фильтра. |
leftExpression | Выражение в левой части фильтра. |
leftExprAggregationType | Тип агрегирующей функции. |
leftExprSubQuery | Параметр, в котором возвращается подзапрос для выражения в левой части фильтра (если он не равен null) либо подзапрос для первого выражения в правой части фильтра (если выражение левой части фильтра равно null). |
rightExpressionColumnPaths | Массив путей к колонкам, содержащим выражения правой части фильтра. |
rightExpression | Выражение в правой части фильтра. |
rightExpressionValue | Экземпляр функции выражения в правой части фильтра (тип параметра EntitySchemaQueryFunction ) или выражение подзапроса в правой части фильтра (тип параметра EntitySchemaQuery). |
rightValue | Значение, которое обрабатывается макросом в правой части фильтра. |
rightExprParameterValue | Значение параметра, к которому применяется агрегирующая функция в правой части фильтра. |
macrosType | Тип макроса из перечисления Terrasoft.Core.Entities.EntitySchemaQueryMacrosType. |
daysCount | Значение, к которому применяется макрос в правой части фильтра. Необязательный параметр, по умолчанию равен 0. |
Создает параметризированный фильтр для выборки записей по определенным условиям.
parentQuery | Родительский запрос, для которого создается фильтр. |
rootSchema | Корневая схема. |
comparisonType | Тип сравнения из перечисления Terrasoft.Core.Entities.FilterComparisonType. |
useDisplayValue | Признак типа значения колонки, которое используется в фильтре: true - значение для отображения; false - хранимое значение. |
leftExpressionColumnPath | Путь к колонке, содержащей выражение левой части фильтра. |
rightExpressionParameterValues | Коллекция выражений параметров в правой части фильтра. |
Создает фильтр сравнения типа Не является null в базе данных, устанавливая в качестве проверяемого значения выражение колонки, расположенной по указанному в параметре leftExpressionColumnPath пути.
Создает фильтр сравнения типа Является null в базе данных, устанавливая в качестве условия проверки выражение колонки, расположенной по указанному в параметре leftExpressionColumnPath пути.
Создает фильтр сравнения типа Не существует по заданному условию и устанавливает в качестве проверяемого значения выражение колонки, расположенной по пути rightExpressionColumnPath.
Возвращает результат выполнения текущего запроса к схеме объекта в виде таблицы данных в памяти, используя пользовательское подключение UserConnection.
Возвращает порядковый номер дня недели для объекта System.DayOfWeek с учетом региональных настроек.
Возвращает экземпляр Entity по первичному ключу primaryColumnValue, используя пользовательское подключение UserConnection.
Возвращает коллекцию экземпляров Entity, представляющих результаты выполнения текущего запроса, используя пользовательское подключение UserConnection и заданные дополнительные настройки запроса EntitySchemaQueryOptions.
Возвращает экземпляр схемы объекта EntitySchema текущего экземпляра EntitySchemaQuery.
Возвращает экземпляр запроса на выборку данных, используя пользовательское подключение UserConnection и заданные дополнительные настройки запроса EntitySchemaQueryOptions.
Возвращает коллекцию выражений колонок запроса, для которых вычисляются итоговые значения.
Возвращает экземпляр Entity для результата, возвращаемого запросом на выборку итоговых значений.
userConnection | Пользовательское подключение. |
summaryColumns | Коллекция колонок запроса, для которых выбираются итоговые значения. |
columnNames | Коллекция имен колонок. |
Строит запрос на выборку итоговых значений для заданной коллекции колонок текущего экземпляра EntitySchemaQuery.
userConnection | Пользовательское подключение. |
summaryColumns | Коллекция колонок запроса, для которых выбираются итоговые значения. |
columnNames | Коллекция имен колонок. |
Возвращает типизированное значение колонки с именем columnName из переданного экземпляра Entity.
Загружает результат выполнения текущего запроса к схеме объекта в объект System.Data.DataTable, используя пользовательское подключение UserConnection и заданные дополнительные настройки запроса EntitySchemaQueryOptions.
Удаляет колонку с именем columnName из коллекции колонок текущего запроса.
Очищает схему текущего экземпляра EntitySchemaQuery.
Очищает запрос на выборку для текущего запроса к схеме объекта.
Устанавливает идентификатор локальной культуры.
Пространство имен Terrasoft.Core.DB.
Класс Terrasoft.Core.DB.Insert предназначен для построения запросов на добавление записей в таблицы базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос в базу данных приложения в виде SQL-выражения INSERT. В результате выполнения запроса возвращается количество задействованных запросом записей.
Конструкторы
Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection.
Создает экземпляр класса с указанным UserConnection.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Пользовательское подключение, используемое при запросе.
Источник данных
Коллекция параметров запроса.
Определяет, имеет ли запрос параметры.
Определяет, добавлять ли параметры запроса в текст запроса как значения.
Коллекция значений колонок запроса.
Коллекция значений колонок для множественного добавления записей.
Методы
Очищает кэшированный текст запроса.
Возвращает коллекцию параметров, используемых запросом.
Очищает коллекцию параметров запроса.
Устанавливает значение для параметра запроса.
name | Название параметра. |
value | Значение. |
Инициализирует коллекцию параметров запроса.
Выполняет запрос. Возвращает количество задействованных запросом записей.
Выполняет запрос, используя экземпляр DBExecutor. Возвращает количество задействованных запросом записей.
Добавляет в текущий запрос источник данных.
schemaName | Название схемы. |
source | Источник данных. |
Добавляет в текущий запрос предложение SET для присвоения колонке переданного выражения или параметра. Возвращает текущий экземпляр Insert.
sourceColumnAlias | Псевдоним колонки. |
subSelect | Подзапрос на выборку. |
subSelectQuery | Подзапрос. |
columnExpression | Выражение колонки. |
parameter | Параметр запроса. |
Инициализирует значения для множественного добавления записей.
Пространство имен Terrasoft.Core.DB.
Класс Terrasoft.Core.DB.InsertSelect предназначен для построения запросов на добавление записей в таблицы базы данных Creatio. При этом в качестве источника добавляемых данных используется экземпляр класса Terrasoft.Core.DB.Select. В результате создания и конфигурирования экземпляра Terrasoft.Core.DB.InsertSelect будет построен запрос базу данных приложения в виде SQL-выражения INSERT INTO SELECT.
Конструкторы
Создает экземпляр класса с указанным UserConnection.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Пользовательское подключение, используемое при запросе.
Источник данных
Коллекция параметров запроса.
Определяет, имеет ли запрос параметры.
Определяет, добавлять ли параметры запроса в текст запроса как значения.
Коллекция значений колонок запроса.
Используемый в запросе экземпляр Terrasoft.Core.DB.Select.
Методы
Очищает кэшированный текст запроса.
Возвращает коллекцию параметров, используемых запросом.
Очищает коллекцию параметров запроса.
Устанавливает значение для параметра запроса.
name | Название параметра. |
value | Значение. |
Инициализирует коллекцию параметров запроса.
Выполняет запрос. Возвращает количество задействованных запросом записей.
Выполняет запрос, используя экземпляр DBExecutor. Возвращает количество задействованных запросом записей.
Добавляет в текущий запрос источник данных.
schemaName | Название схемы. |
source | Источник данных. |
Добавляет в текущий запрос набор колонок, в которые будут добавлены значения с помощью подзапроса. Возвращает текущий экземпляр InsertSelect.
sourceColumnAliases | Коллекция или массив параметров метода, содержащие псевдонимы колонок. |
columns | Коллекция или массив параметров метода, содержащие экземпляры колонок. |
Добавляет в текущий запрос предложение SELECT.
subSelect | Подзапрос на выборку. |
subSelectQuery | Подзапрос. |
Пространство имен Terrasoft.Core.DB.
Класс Terrasoft.Core.DB.Update предназначен для построения запросов на изменение записей в таблице базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос базу данных приложения в виде SQL-выражения UPDATE.
Конструкторы
Создает экземпляр класса, используя UserConnection.
Создает экземпляр класса для схемы с указанным названием, используя UserConnection.
Создает экземпляр класса для указанного источника данных, используя UserConnection.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Пользовательское подключение, используемое при выполнении запроса.
Условие выражения Where запроса.
Определяет наличие выражения Where в запросе.
Источник данных запроса.
Коллекция значений колонок запроса.
Методы
Очищает закэшированный текст запроса.
Возвращает коллекцию параметров, используемых запросом.
Выполняет запрос. Возвращает количество задействованных запросом записей.
Выполняет запрос, используя экземпляр DBExecutor. Возвращает количество задействованных запросом записей.
Добавляет к текущему запросу начальное условие.
sourceColumnAlias | Псевдоним колонки, для которой добавляется условие. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки данных, для результатов которого добавляется условие. |
subSelectQuery | Подзапрос, для результатов которого добавляется условие. |
columnExpression | Выражение, для результатов которого добавляется условие. |
condition | Условие запроса. |
К текущему условию запроса добавляет условие (предикат), используя логическую операцию И.
sourceColumnAlias | Псевдоним колонки, для которой добавляется предикат. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки данных, используемый в качестве предиката. |
subSelectQuery | Подзапрос, используемый в качестве предиката. |
parameter | Параметр, для которого добавляется предикат. |
columnExpression | Выражение, используемое в качестве предиката. |
condition | Условие запроса. |
К текущему условию запроса добавляет условие (предикат), используя логическую операцию ИЛИ.
sourceColumnAlias | Псевдоним колонки, для которой добавляется предикат. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос на выборку данных, используемый в качестве предиката. |
subSelectQuery | Подзапрос, используемый в качестве предиката. |
parameter | Параметр, для которого добавляется предикат. |
columnExpression | Выражение, используемое в качестве предиката. |
condition | Условие запроса. |
Добавляет в текущий запрос предложение SET для присвоения колонке переданного выражения или параметра. Возвращает текущий экземпляр Update.
sourceColumnAlias | Псевдоним колонки. |
subSelect | Подзапрос на выборку. |
subSelectQuery | Подзапрос. |
columnExpression | Выражение колонки. |
parameter | Параметр запроса. |
Пространство имен Terrasoft.Core.DB.
Класс Terrasoft.Core.DB.Delete предназначен для построения запросов на удаление записей в таблице базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос базу данных приложения в виде SQL-выражения DELETE.
Конструкторы
Создает экземпляр класса, используя UserConnection.
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Пользовательское подключение, используемое при выполнении запроса.
Условие выражения Where запроса.
Определяет наличие выражения Where в запросе.
Источник данных запроса.
Методы
Очищает закэшированный текст запроса.
Возвращает коллекцию параметров, используемых запросом.
Выполняет запрос. Возвращает количество задействованных запросом записей.
Выполняет запрос, используя экземпляр DBExecutor. Возвращает количество задействованных запросом записей.
Добавляет к текущему запросу начальное условие.
sourceColumnAlias | Псевдоним колонки, для которой добавляется условие. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки данных, для результатов которого добавляется условие. |
subSelectQuery | Подзапрос, для результатов которого добавляется условие. |
columnExpression | Выражение, для результатов которого добавляется условие. |
condition | Условие запроса. |
К текущему условию запроса добавляет условие (предикат), используя логическую операцию И.
sourceColumnAlias | Псевдоним колонки, для которой добавляется предикат. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос выборки данных, используемый в качестве предиката. |
subSelectQuery | Подзапрос, используемый в качестве предиката. |
parameter | Параметр, для которого добавляется предикат. |
columnExpression | Выражение, используемое в качестве предиката. |
condition | Условие запроса. |
К текущему условию запроса добавляет условие (предикат), используя логическую операцию ИЛИ.
sourceColumnAlias | Псевдоним колонки, для которой добавляется предикат. |
sourceAlias | Псевдоним источника. |
subSelect | Подзапрос на выборку данных, используемый в качестве предиката. |
subSelectQuery | Подзапрос, используемый в качестве предиката. |
parameter | Параметр, для которого добавляется предикат. |
columnExpression | Выражение, используемое в качестве предиката. |
condition | Условие запроса. |
Добавляет в текущий запрос источник данных. Возвращает текущий экземпляр Delete.
schemaName | Название схемы (таблицы, представления). |
source | Источник данных. |
Класс Terrasoft.Configuration.EntityMapper — это утилитный класс конфигурации, который находится в пакете FinAppLending продукта Lending. EntityMapper позволяет сопоставлять данные одной сущности (Entity) с другой по правилам, определенным в конфигурационном файле. Использование подхода сопоставления данных разных сущностей позволяет избежать появления однообразного кода.
В продукте Lending существует два объекта, содержащих одинаковые колонки. Это объекты Физ. лицо (Contact) и Анкета (AppForm). Также существует несколько деталей, относящихся к объекту Физ. лицо (Contact) и имеющих похожие детали, относящиеся к Анкета (AppForm). Очевидно, что при заполнении анкеты должна быть возможность по колонке Id объекта Физ. лицо (Contact) получить список всех его колонок и значений, а также список нужных деталей с их колонками и значениями, и сопоставить эти данные с данными, связанными с анкетой. После этого можно автоматически заполнить поля анкеты сопоставленными данными. Таким образом можно существенно уменьшить затраты на ручной ввод одинаковых данных.
Идея сопоставления данных разных сущностей реализована в следующих классах:
- EntityMapper — реализует логику сопоставления.
- EntityResult — определяет в каком виде вернется сопоставленная сущность.
- MapConfig — представляет набор правил для сопоставления.
- DetailMapConfig — используется для установки списка правил сопоставления деталей и связанных с ними сущностей.
- RelationEntityMapConfig — содержит правила для сопоставления связанных сущностей.
- EntityFilterMap — представляет из себя фильтр для запроса в базу данных.
Класс EntityMapper
Пространство имен Terrasoft.Configuration.
Класс реализует логику сопоставления.
Методы
Возвращает сопоставленные данные для двух объектов Entity.
rec |
GUID записи в базе данных. |
config | Экземпляр класса MapConfig, представляющий из себя набор правил сопоставления. |
Получает из базы данных главную сущность и сопоставляет ее колонки и значения по правилам, указанным в объекте config.
record |
GUID записи в базе данных. |
config | Экземпляр класса MapConfig, представляющий из себя набор правил сопоставления. |
result | Словарь колонок и их значений уже сопоставленной сущности. |
Получает из базы данных связанные сущности и сопоставляет их с основными сущностями.
relations | Список правил для получения связанных записей. |
dictionary |
Словарь с колонками и их значениями. |
column |
Название родительской колонки. |
entity |
Объект, содержащий название и Id записи в базе. |
Класс EntityResult
Пространство имен Terrasoft.Configuration.
Класс определяет в каком виде вернется сопоставленная сущность.
Свойства
Словарь с названиями колонок основной сущности и их значениями.
Словарь названий деталей со списком их колонок и значений.
Класс MapConfig
Пространство имен Terrasoft.Configuration.
Класс представляет набор правил для сопоставления.
Свойства
Название сущности в базе данных.
Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
Список конфигурационных объектов с правилами для деталей.
Список названий деталей для очистки их значений.
Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.
Класс DetailMapConfig
Пространство имен Terrasoft.Configuration.
Класс используется для установки списка правил сопоставления деталей и связанных с ними сущностей.
Свойства
Название детали (для обеспечения уникальности экземпляра детали).
Название сущности в базе данных.
Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.
Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.
Класс RelationEntityMapConfig
Пространство имен Terrasoft.Configuration.
Класс содержит правила для сопоставления связанных сущностей.
Свойства
Название родительской колонки, при нахождении которой будет срабатывать логика получения и сопоставления данных по сущности.
Название сущности в базе данных.
Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.
Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.
Класс EntityFilterMap
Пространство имен Terrasoft.Configuration.
Класс представляет из себя фильтр для запроса в базу данных.
Класс Terrasoft.Core.DB.QueryFunction реализует функцию выражения.
Функция выражения реализована в следующих классах:
- QueryFunction — базовый класс функции выражения.
- AggregationQueryFunction — реализует агрегирующую функцию выражения.
- IsNullQueryFunction — заменяет значения null замещающим выражением.
- CreateGuidQueryFunction — реализует функцию выражения нового идентификатора.
- CurrentDateTimeQueryFunction — реализует функцию выражения текущей даты и времени.
- CoalesceQueryFunction — возвращает первое выражение из списка аргументов, не равное null.
- DatePartQueryFunction — реализует функцию выражения части значения типа Дата/Время.
- DateAddQueryFunction — реализует функцию выражения даты, полученной путем добавления указанного промежутка времени к заданной дате.
- DateDiffQueryFunction — реализует функцию выражения разницы дат, полученного путем вычитания заданных дат.
- CastQueryFunction — приводит выражение аргумента к заданному типу данных.
- UpperQueryFunction — преобразовывает символы выражения аргумента в верхний регистр.
- CustomQueryFunction — реализует пользовательскую функцию.
- DataLengthQueryFunction — определяет число байтов, использованных для представления выражения.
- TrimQueryFunction — удаляет начальные и конечные пробелы из выражения.
- LengthQueryFunction — возвращает длину выражения.
- SubstringQueryFunction — получает часть строки.
- ConcatQueryFunction — формирует строку, которая является результатом объединения строковых значений аргументов функции.
- WindowQueryFunction — реализует функцию SQL окна.
Класс QueryFunction
Пространство имен Terrasoft.Core.DB.
Базовый класс функции выражения.
Методы
Возвращает выражение отрицания значения переданной функции.
operand | Функция выражения. |
Перегрузка оператора отрицания переданной функции выражения.
operand | Функция выражения. |
Возвращает выражение арифметического сложения переданных функций выражения.
leftOperand | Левый операнд в операции сложения. |
rightOperand | Правый операнд в операции сложения. |
Перегрузка оператора сложения двух функций выражений.
leftOperand | Левый операнд в операции сложения. |
rightOperand | Правый операнд в операции сложения. |
Возвращает выражение вычитания правой функции выражения из левой.
leftOperand | Левый операнд в операции вычитания. |
rightOperand | Правый операнд в операции вычитания. |
Перегрузка оператора вычитания правой функции выражения из левой.
leftOperand | Левый операнд в операции вычитания. |
rightOperand | Правый операнд в операции вычитания. |
Возвращает выражение умножения переданных функций выражений.
leftOperand | Левый операнд в операции умножения. |
rightOperand | Правый операнд в операции умножения. |
Перегрузка оператора умножения двух функций выражений.
leftOperand | Левый операнд в операции умножения. |
rightOperand | Правый операнд в операции умножения. |
Возвращает выражение деления левой функции выражения на правую.
leftOperand | Левый операнд в операции деления. |
rightOperand | Правый операнд в операции деления. |
Перегрузка оператора деления функций выражений.
leftOperand | Левый операнд в операции деления. |
rightOperand | Правый операнд в операции деления. |
Создает копию текущего экземпляра QueryFunction.
Формирует текст запроса с использованием переданных экземпляра StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запросов к базе данных. |
Добавляет переданную коллекцию параметров в аргументы функции.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Возвращает коллекцию выражений колонки запроса для текущей функции запроса.
Возвращает выражение колонки запроса для текущей функции запроса.
Класс AggregationQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует агрегирующую функцию выражения.
Конструкторы
Инициализирует новый экземпляр AggregationQueryFunction.
Инициализирует новый экземпляр AggregationQueryFunction с заданным типом агрегирующей функции для указанного выражения колонки.
aggregationType | Тип агрегирующей функции. |
expression | Выражение колонки, к которому применяется агрегирующая функция. |
Инициализирует новый экземпляр AggregationQueryFunction с заданным типом агрегирующей функции для указанного выражения колонки.
aggregationType | Тип агрегирующей функции. |
expression | Выражение колонки, к которому применяется агрегирующая функция. |
Инициализирует новый экземпляр AggregationQueryFunction, являющийся клоном переданной агрегирующей функции выражения.
source | Агрегирующая функция выражения AggregationQueryFunction, клон которой создается. |
Свойства
Тип агрегирующей функции.
Область применения агрегирующей функции.
Выражение аргумента функции.
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запроса DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запросов к базе данных. |
Добавляет переданную коллекцию параметров в аргументы функции.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра AggregationQueryFunction.
Устанавливает для текущей агрегирующей функции область применения Ко всем значениям.
Устанавливает для текущей агрегирующей функции область применения К уникальным значениям.
Класс IsNullQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс заменяет значения null замещающим выражением.
Конструкторы
Инициализирует новый экземпляр IsNullQueryFunction.
Инициализирует новый экземпляр IsNullQueryFunction для заданных проверяемого выражения и замещающего выражения.
checkExpression | Выражение, которое проверяется на равенство null. |
replacementExpression | Выражение, которое возвращается функцией, если checkExpression равно null. |
Инициализирует новый экземпляр IsNullQueryFunction, являющийся клоном переданной функции выражения.
source | Агрегирующая функция выражения IsNullQueryFunction, клон которой создается. |
Свойства
Выражение аргумента функции, которое проверяется на равенство значению null.
Выражение аргумента функции, которое возвращается, если проверяемое выражение равно null.
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запросов к базе данных. |
Добавляет переданную коллекцию параметров в аргументы функции.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра IsNullQueryFunction.
Класс CreateGuidQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует функцию выражения нового идентификатора.
Конструкторы
Инициализирует новый экземпляр CreateGuidQueryFunction.
Инициализирует новый экземпляр CreateGuidQueryFunction, являющийся клоном переданной функции.
source | Функция CreateGuidQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Создает клон текущего экземпляра CreateGuidQueryFunction.
Класс CurrentDateTimeQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует функцию выражения текущей даты и времени.
Конструкторы
Инициализирует новый экземпляр CurrentDateTimeQueryFunction.
Инициализирует новый экземпляр CurrentDateTimeQueryFunction, являющийся клоном переданной функции.
source | Функция CurrentDateTimeQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Создает клон текущего экземпляра CurrentDateTimeQueryFunction.
Класс CoalesceQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс возвращает первое выражение из списка аргументов, не равное null.
Конструкторы
Инициализирует новый экземпляр CoalesceQueryFunction.
Инициализирует новый экземпляр CoalesceQueryFunction, являющийся клоном переданной функции.
source | Функция CoalesceQueryFunction, клон которой создается. |
Инициализирует новый экземпляр CoalesceQueryFunction для переданной коллекции выражений колонок.
expressions | Коллекция выражений колонок запроса. |
Инициализирует новый экземпляр CoalesceQueryFunction для переданного массива выражений колонок.
expressions | Массив выражений колонок запроса. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Создает клон текущего экземпляра CoalesceQueryFunction.
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Класс DatePartQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует функцию выражения части значения типа Дата/Время.
Конструкторы
Инициализирует новый экземпляр DatePartQueryFunction.
Инициализирует новый экземпляр DatePartQueryFunction с заданным выражением колонки типа Дата/Время и указанной частью даты.
interval | Часть даты. |
expression | Выражение колонки типа Дата/Время. |
Инициализирует новый экземпляр DatePartQueryFunction, являющийся клоном переданной функции.
source | Функция DatePartQueryFunction, клон которой создается. |
Свойства
Выражение аргумента функции.
Часть даты, возвращаемая функцией.
Использование смещения всеобщего скоординированного времени (UTC) относительно заданного местного времени.
Смещение всеобщего скоординированного времени (UTC).
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра DatePartQueryFunction.
Класс DateAddQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует функцию выражения даты, полученной путем добавления указанного промежутка времени к заданной дате.
Конструкторы
Инициализирует новый экземпляр DateAddQueryFunction.
Инициализирует экземпляр DateAddQueryFunction с заданными параметрами.
interval | Часть даты, к которой добавляется временной промежуток. |
number | Значение, которое добавляется к interval. |
expression | Выражение колонки, содержащей исходную дату. |
Инициализирует экземпляр DateAddQueryFunction, являющийся клоном переданной функции.
source | Экземпляр функции DateAddQueryFunction, клон которой создается. |
Свойства
Выражение колонки, содержащей исходную дату.
Часть даты, к которой добавляется временной промежуток.
Добавляемый временной промежуток.
Выражение, содержащие добавляемый временной промежуток.
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра DateAddQueryFunction.
Класс DateDiffQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует функцию выражения разницы дат, полученного путем вычитания заданных дат.
Конструкторы
Инициализирует экземпляр DateDiffQueryFunction с заданными параметрами.
interval | Единица измерения разницы дат. |
startDateExpression | Выражение колонки, содержащей начальную дату. |
endDateExpression | Выражение колонки, содержащей конечную дату. |
Инициализирует экземпляр DateDiffQueryFunction, являющийся клоном переданной функции.
source | Экземпляр функции DateDiffQueryFunction, клон которой создается. |
Свойства
Выражение колонки, содержащей начальную дату.
Выражение колонки, содержащей конечную дату.
Единица измерения разницы дат, возвращаемая функцией.
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра DateDiffQueryFunction.
Класс CastQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс приводит выражение аргумента к заданному типу данных.
Конструкторы
Инициализирует новый экземпляр CastQueryFunction с заданными выражением колонки и целевым типом данных.
expression | Выражение колонки запроса. |
castType | Целевой тип данных. |
Инициализирует новый экземпляр CastQueryFunction, являющийся клоном переданной функции.
source | Функция CastQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра CastQueryFunction.
Класс UpperQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс преобразовывает символы выражения аргумента в верхний регистр.
Конструкторы
Инициализирует новый экземпляр UpperQueryFunction.
Инициализирует новый экземпляр UpperQueryFunction для заданного выражения колонки.
expression | Выражение колонки запроса. |
Инициализирует новый экземпляр UpperQueryFunction, являющийся клоном переданной функции.
source | Функция UpperQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра UpperQueryFunction.
Класс CustomQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует пользовательскую функцию.
Конструкторы
Инициализирует новый экземпляр CustomQueryFunction.
Инициализирует новый экземпляр CustomQueryFunction для заданной функции и переданной коллекции выражений колонок.
functionName | Имя функции. |
expressions | Коллекция выражений колонок запроса. |
Инициализирует новый экземпляр CustomQueryFunction для заданной функции и переданного массива выражений колонок.
functionName | Имя функции. |
expressions | Массив выражений колонок запроса. |
Инициализирует новый экземпляр CustomQueryFunction, являющийся клоном переданной функции.
source | Функция CustomQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет заданные параметры в коллекцию.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра CustomQueryFunction.
Класс DataLengthQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс определяет число байтов, использованных для представления выражения.
Конструкторы
Инициализирует новый экземпляр DataLengthQueryFunction.
Инициализирует новый экземпляр DataLengthQueryFunction для заданного выражения колонки.
expression | Выражение колонки запроса. |
Инициализирует новый экземпляр DataLengthQueryFunction для заданного выражения колонки.
columnNameExpression | Выражение колонки запроса. |
Инициализирует новый экземпляр DataLengthQueryFunction, являющийся клоном переданной функции.
source | Функция DataLengthQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет в аргументы функции переданную коллекцию параметров.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра DataLengthQueryFunction.
Класс TrimQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс удаляет начальные и конечные пробелы из выражения.
Конструкторы
Инициализирует новый экземпляр TrimQueryFunction для заданного выражения колонки.
expression | Выражение колонки запроса. |
Инициализирует новый экземпляр TrimQueryFunction, являющийся клоном переданной функции.
source | Функция TrimQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет в аргументы функции переданную коллекцию параметров.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра TrimQueryFunction.
Класс LengthQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс возвращает длину выражения.
Конструкторы
Инициализирует новый экземпляр LengthQueryFunction.
Инициализирует новый экземпляр LengthQueryFunction для заданного выражения колонки.
expression | Выражение колонки запроса. |
Инициализирует новый экземпляр LengthQueryFunction, являющийся клоном переданной функции.
source | Функция LengthQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет в аргументы функции переданную коллекцию параметров.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра LengthQueryFunction.
Класс SubstringQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс получает часть строки.
Конструкторы
Инициализирует новый экземпляр SubstringQueryFunction для заданного выражения колонки, начальной позиции и длины подстроки.
expression | Выражение колонки запроса. |
start | Начальная позиция подстроки. |
length | Длина подстроки. |
Инициализирует новый экземпляр SubstringQueryFunction, являющийся клоном переданной функции.
source | Функция SubstringQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет в аргументы функции переданную коллекцию параметров.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра SubstringQueryFunction.
Класс ConcatQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс формирует строку, которая является результатом объединения строковых значений аргументов функции.
Конструкторы
Инициализирует новый экземпляр ConcatQueryFunction для переданной коллекции выражений.
expressions | Коллекция выражений колонок запроса. |
Инициализирует новый экземпляр ConcatQueryFunction, являющийся клоном переданной функции.
source | Функция ConcatQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет в аргументы функции переданную коллекцию параметров.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра ConcatQueryFunction.
Класс WindowQueryFunction
Пространство имен Terrasoft.Core.DB.
Класс реализует функцию SQL окна.
Конструкторы
Реализует функцию SQL окна.
innerFunction | Вложенная функция. |
Реализует функцию SQL окна.
innerFunction | Вложенная функция. |
partitionByExpression | Выражение для разделения запроса. |
orderByExpression | Выражение для сортировки запроса. |
Инициализирует новый экземпляр WindowQueryFunction, являющийся клоном переданной функции.
source | Функция WindowQueryFunction, клон которой создается. |
Методы
Формирует текст запроса с использованием заданных экземпляров StringBuilder и построителя запросов DBEngine.
sb | Экземпляр StringBuilder, с помощью которого формируется текст запроса. |
dbEngine | Экземпляр построителя запроса к базе данных. |
Добавляет в аргументы функции переданную коллекцию параметров.
resultParameters | Коллекция параметров запроса, которые добавляются в аргументы функции. |
Создает клон текущего экземпляра WindowQueryFunction.
Класс Terrasoft.Core.Entities.EntitySchemaQueryFunction реализует функцию выражения.
Идея функции выражения реализована в следующих классах:
- EntitySchemaQueryFunction — базовый класс функции выражения запроса к схеме объекта.
- EntitySchemaAggregationQueryFunction — реализует агрегирующую функцию выражения.
- EntitySchemaIsNullQueryFunction — заменяет значения null замещающим выражением.
- EntitySchemaCoalesceQueryFunction — возвращает первое выражение из списка аргументов, не равное null.
- EntitySchemaCaseNotNullQueryFunctionWhenItem — класс, описывающий выражение условия sql-оператора CASE.
- EntitySchemaCaseNotNullQueryFunctionWhenItems — коллекция выражений условий sql-оператора CASE.
- EntitySchemaStartOfCurrentHourQueryFunction(EntitySchemaQuery parentQuery, EntitySchemaQueryExpression expression, int offset = 0) : this(parentQuery, offset)
- EntitySchemaCaseNotNullQueryFunction — возвращает одно из множества возможных значений в зависимости от указанных условий.
- EntitySchemaSystemValueQueryFunction — возвращает выражение системного значения.
- EntitySchemaCurrentDateTimeQueryFunction — реализует функцию выражения текущей даты и времени.
- EntitySchemaBaseCurrentDateQueryFunction — базовый класс функции выражения для базовой даты.
- EntitySchemaCurrentDateQueryFunction — реализует функцию выражения текущей даты.
- EntitySchemaDateToCurrentYearQueryFunction — реализует функцию выражения даты начала текущей недели.
- EntitySchemaStartOfCurrentWeekQueryFunction — реализует функцию, которая конвертирует выражение даты в такую же дату текущего года.
- EntitySchemaStartOfCurrentMonthQueryFunction — реализует функцию выражения даты начала текущего месяца.
- EntitySchemaStartOfCurrentQuarterQueryFunction — реализует функцию выражения даты начала текущего квартала.
- EntitySchemaStartOfCurrentHalfYearQueryFunction — реализует функцию выражения даты начала текущего полугодия.
- EntitySchemaStartOfCurrentYearQueryFunction — реализует функцию выражения даты начала текущего года.
- EntitySchemaBaseCurrentDateTimeQueryFunction — базовый класс функции выражения базовых даты и времени.
- EntitySchemaStartOfCurrentHourQueryFunction — реализует функцию выражения начала текущего часа.
- EntitySchemaCurrentTimeQueryFunction — реализует функцию выражения текущего времени.
- EntitySchemaCurrentUserQueryFunction — реализует функцию выражения текущего пользователя.
- EntitySchemaCurrentUserContactQueryFunction — реализует функцию контакта текущего пользователя.
- EntitySchemaCurrentUserAccountQueryFunction — реализует функцию выражения контрагента текущего пользователя.
- EntitySchemaDatePartQueryFunction — реализует функцию запроса для части даты.
- EntitySchemaUpperQueryFunction — преобразовывает символы выражения аргумента к верхнему регистру.
- EntitySchemaCastQueryFunction — приводит выражение аргумента к заданному типу данных.
- EntitySchemaTrimQueryFunction — удаляет начальные и конечные пробелы из выражения.
- EntitySchemaLengthQueryFunction — возвращает длину выражения.
- EntitySchemaConcatQueryFunction — формирует строку, которая является результатом объединения строковых значений аргументов функции.
- EntitySchemaWindowQueryFunction — реализует функцию SQL окна.
Класс EntitySchemaQueryFunction
Пространство имен Terrasoft.Core.Entities.
Базовый класс функции выражения запроса к схеме объекта.
Методы
Возвращает выражение колонки запроса для текущей функции, сформированное с учетом заданных прав доступа.
db |
Объект Terrasoft.Core.DB.DBSecurityEngine, определяющий права доступа. |
Возвращает тип данных возвращаемого функцией результата, используя переданный менеджер типов данных.
data |
Менеджер типов данных. |
Определяет, имеет ли возвращаемый функцией результат указанный тип данных.
data |
Тип данных. |
Возвращает заголовок функции выражения.
Возвращает коллекцию выражений аргументов функции.
Проверяет, имеет ли возвращаемый функцией результат указанный тип данных. В противном случае генерируется исключение.
data |
Тип данных. |
Класс EntitySchemaAggregationQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует агрегирующую функцию выражения.
Конструкторы
Инициализирует экземпляр EntitySchemaAggregationQueryFunction заданного типа агрегирующей функции для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует экземпляр EntitySchemaAggregationQueryFunction заданного типа агрегирующей функции для заданного запроса к схеме объекта.
aggregation |
Тип агрегирующей функции. |
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaAggregationQueryFunction для заданных типа агрегирующей функции, выражения и запроса к схеме объекта.
aggregation |
Тип агрегирующей функции. |
expression | Выражение запроса. |
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaAggregationQueryFunction, являющийся клоном переданного экземпляра агрегирующей функции выражения.
source | Экземпляр агрегирующей функции выражения, клон которой создается. |
Свойства
Псевдоним функции в sql-запросе.
Тип агрегирующей функции.
Область применения агрегирующей функции.
Выражение аргумента агрегирующей функции.
Методы
Выполняет сериализацию агрегирующей функции, используя заданный экземпляр Terrasoft.Common.DataWriter.
writer | Экземпляр Terrasoft.Common.DataWriter, с помощью которого выполняется сериализация. |
Возвращает выражение колонки запроса для агрегирующей функции, сформированное с учетом заданных прав доступа.
db |
Объект Terrasoft.Core.DB.DBSecurityEngine, определяющий права доступа. |
Возвращает коллекцию выражений аргументов агрегирующей функции.
Возвращает тип данных возвращаемого агрегирующей функцией результата, используя заданный менеджер типов данных.
data |
Менеджер типов данных. |
Определяет, имеет ли возвращаемый агрегирующей функцией результат указанный тип данных.
data |
Тип данных. |
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaAggregationQueryFunction.
Устанавливает для текущей агрегирующей функции область применения Ко всем значениям.
Устанавливает для текущей агрегирующей функции область применения К уникальным значениям.
Класс EntitySchemaIsNullQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс заменяет значения null замещающим выражением.
Конструкторы
Инициализирует экземпляр EntitySchemaIsNullQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaIsNullQueryFunction для заданных запроса к схеме объекта, проверяемого выражения и замещающего выражения.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
check |
Выражение, которое проверяется на равенство null. |
replacement |
Выражение, которое возвращается функцией, если checkExpression равно null. |
Инициализирует новый экземпляр EntitySchemaIsNullQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaIsNullQueryFunction, клон которой создается. |
Свойства
Псевдоним функции в sql-запросе.
Выражение аргумента функции, которое проверяется на равенство значению null.
Выражение аргумента функции, которое возвращается, если проверяемое выражение равно null.
Методы
Выполняет сериализацию функции выражения, используя переданный экземпляр DataWriter.
writer | Экземпляр DataWriter, с помощью которого выполняется сериализация функции выражения. |
Возвращает выражение колонки запроса для текущей функции, сформированное с учетом заданных прав доступа.
db |
Объект Terrasoft.Core.DB.DBSecurityEngine, определяющий права доступа. |
Возвращает коллекцию выражений аргументов функции.
Возвращает тип данных возвращаемого функцией результата, используя переданный менеджер типов данных.
data |
Менеджер типов данных. |
Класс EntitySchemaCoalesceQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс возвращает первое выражение из списка аргументов, не равное null.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCoalesceQueryFunction для заданного запроса к схеме объекта.
aggregation |
Тип агрегирующей функции. |
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaCoalesceQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCoalesceQueryFunction, клон которой создается. |
Свойства
Псевдоним функции в sql-запросе.
Коллекция выражений аргументов функции.
Признак, определяющий наличие хотя бы одного элемента в коллекции выражений аргументов функции.
Методы
Определяет, имеет ли возвращаемый функцией результат указанный тип данных.
data |
Тип данных. |
Класс EntitySchemaCaseNotNullQueryFunctionWhenItem
Пространство имен Terrasoft.Core.Entities.
Класс, описывающий выражение условия sql-оператора CASE.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCaseNotNullQueryFunctionWhenItem.
Инициализирует экземпляр EntitySchemaCaseNotNullQueryFunctionWhenItem для заданных выражений предложений WHEN и THEN.
when |
Выражение предложения WHEN условия. |
then |
Выражение предложения THEN условия. |
Инициализирует экземпляр EntitySchemaCaseNotNullQueryFunctionWhenItem, являющийся клоном переданной функции.
source | Функция EntitySchemaCaseNotNullQueryFunctionWhenItem, клон которой создается. |
Класс EntitySchemaCaseNotNullQueryFunctionWhenItems
Пространство имен Terrasoft.Core.Entities.
Класс реализует коллекцию выражений условий sql-оператора CASE.
Конструкторы
Инициализирует экземпляр EntitySchemaCaseNotNullQueryFunctionWhenItems.
Инициализирует новый экземпляр EntitySchemaCaseNotNullQueryFunctionWhenItems, являющийся клоном клоном переданной коллекции условий.
source | Коллекция условий, клон которой создается. |
Класс EntitySchemaCaseNotNullQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс возвращает одно из множества возможных значений в зависимости от указанных условий.
Конструкторы
Инициализирует новый экземпляр CurrentDateTimeQueryFunction.
Инициализирует новый экземпляр EntitySchemaCaseNotNullQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaCaseNotNullQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCaseNotNullQueryFunction, клон которой создается. |
Свойства
Псевдоним функции в sql-запросе.
Коллекция условий функции выражения.
Признак, имеет ли функция хотя бы одно условие.
Выражение предложения ELSE.
Методы
Определяет для текущей функции выражения заданный псевдоним в результирующем sql-запросе.
query |
Псевдоним, определяемый для текущей функции. |
Класс EntitySchemaSystemValueQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс возвращает выражение системного значения.
Класс EntitySchemaCurrentDateTimeQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения текущей даты и времени.
Конструкторы
Инициализирует экземпляр EntitySchemaCurrentDateTimeQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует экземпляр EntitySchemaCurrentDateTimeQueryFunction, являющийся клоном переданной функции.
source | Экземпляр функции EntitySchemaCurrentDateTimeQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaCurrentDateTimeQueryFunction.
Класс EntitySchemaBaseCurrentDateQueryFunction
Пространство имен Terrasoft.Core.Entities.
Базовый класс функции выражения для базовой даты.
Класс EntitySchemaCurrentDateQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения текущей даты.
Конструкторы
Инициализирует экземпляр EntitySchemaCurrentDateQueryFunction с указанным смещением относительно базовой даты для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
offset | Смещение в днях относительно контрольной даты. Значение по умолчанию - 0. |
expression | Выражение запроса. |
Инициализирует экземпляр EntitySchemaCurrentDateQueryFunction, являющийся клоном переданной функции.
source | Экземпляр функции EntitySchemaCurrentDateQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaCurrentDateQueryFunction.
Класс EntitySchemaDateToCurrentYearQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию, которая конвертирует выражение даты в такую же дату текущего года.
Конструкторы
Инициализирует новый экземпляр EntitySchemaDateToCurrentYearQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaDateToCurrentYearQueryFunction для заданного запроса к схеме объекта и переданного выражения даты.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
expression | Выражение запроса. |
Инициализирует новый экземпляр EntitySchemaDateToCurrentYearQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaDateToCurrentYearQueryFunction, клон которой создается. |
Класс EntitySchemaStartOfCurrentWeekQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения текущей даты.
Конструкторы
Инициализирует экземпляр EntitySchemaStartOfCurrentWeekQueryFunction с указанным смещением относительно базовой даты для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
offset | Смещение в днях относительно контрольной даты. Значение по умолчанию - 0. |
expression | Выражение запроса. |
Инициализирует экземпляр EntitySchemaStartOfCurrentWeekQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaStartOfCurrentWeekQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaStartOfCurrentWeekQueryFunction.
Класс EntitySchemaStartOfCurrentMonthQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения даты начала текущего месяца.
Конструкторы
Инициализирует экземпляр EntitySchemaStartOfCurrentMonthQueryFunction с указанным смещением относительно базовой даты для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
offset | Смещение в днях относительно контрольной даты. Значение по умолчанию - 0. |
expression | Выражение запроса. |
Инициализирует экземпляр EntitySchemaStartOfCurrentMonthQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaStartOfCurrentMonthQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaStartOfCurrentMonthQueryFunction.
Класс EntitySchemaStartOfCurrentQuarterQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения даты начала текущего месяца.
Конструкторы
Инициализирует экземпляр EntitySchemaStartOfCurrentQuarterQueryFunction с указанным смещением относительно базовой даты для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
offset | Смещение в днях относительно контрольной даты. Значение по умолчанию - 0. |
expression | Выражение запроса |
Инициализирует экземпляр EntitySchemaStartOfCurrentQuarterQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaStartOfCurrentQuarterQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaStartOfCurrentQuarterQueryFunction.
Класс EntitySchemaStartOfCurrentHalfYearQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения даты начала текущего полугодия.
Конструкторы
Инициализирует экземпляр EntitySchemaStartOfCurrentHalfYearQueryFunction с указанным смещением относительно базовой даты для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
offset | Смещение в днях относительно контрольной даты. Значение по умолчанию - 0. |
expression | Выражение запроса. |
Инициализирует экземпляр EntitySchemaStartOfCurrentHalfYearQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaStartOfCurrentHalfYearQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaStartOfCurrentHalfYearQueryFunction.
Класс EntitySchemaStartOfCurrentYearQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения даты начала текущего года.
Конструкторы
Инициализирует экземпляр EntitySchemaStartOfCurrentYearQueryFunction с указанным смещением относительно базовой даты для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
offset | Смещение в днях относительно контрольной даты. Значение по умолчанию - 0. |
expression | Выражение запроса. |
Инициализирует экземпляр EntitySchemaStartOfCurrentYearQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaStartOfCurrentYearQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaStartOfCurrentHalfYearQueryFunction.
Класс EntitySchemaBaseCurrentDateTimeQueryFunction
Пространство имен Terrasoft.Core.Entities.
Базовый класс функции выражения базовых даты и времени.
Класс EntitySchemaStartOfCurrentHourQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения начала текущего часа.
Конструкторы
Инициализирует экземпляр EntitySchemaStartOfCurrentHourQueryFunction, который является частью parentQuery и указан offset относительно базовой даты.
parent |
Экземпляр EntitySchemaQuery. |
offset | Смещение в часах относительно базовой даты. |
Инициализирует экземпляр EntitySchemaStartOfCurrentHourQueryFunction, который является частью parentQuery, имеет указанные аргументы expression и offset относительно базовой даты.
parent |
Экземпляр EntitySchemaQuery. |
expression | Выражение аргумента функции. |
offset | Смещение в часах относительно базовой даты. |
Инициализирует экземпляр EntitySchemaStartOfCurrentHourQueryFunction, являющийся клоном переданной функции выражения.
source | Экземпляр функции EntitySchemaStartOfCurrentHourQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaStartOfCurrentHourQueryFunction.
Класс EntitySchemaCurrentTimeQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения текущего времени.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCurrentTimeQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaCurrentTimeQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCurrentTimeQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaCurrentTimeQueryFunction.
Класс EntitySchemaCurrentUserQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения текущего пользователя.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCurrentUserQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaCurrentUserQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCurrentUserQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaCurrentUserQueryFunction.
Класс EntitySchemaCurrentUserContactQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения контакта текущего пользователя.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCurrentUserContactQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaCurrentUserContactQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCurrentUserContactQueryFunction, клон которой создается. |
Методы
Возвращает заголовок функции выражения.
Создает клон текущего экземпляра EntitySchemaCurrentUserContactQueryFunction.
Класс EntitySchemaCurrentUserAccountQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию выражения контрагента текущего пользователя.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCurrentUserAccountQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaCurrentUserAccountQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCurrentUserAccountQueryFunction, клон которой создается. |
Класс EntitySchemaDatePartQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию запроса для части даты.
Конструкторы
Инициализирует новый экземпляр EntitySchemaDatePartQueryFunction для заданного запроса к схеме объекта.
parent |
Экземпляр EntitySchemaQuery. |
Инициализирует новый экземпляр EntitySchemaDatePartQueryFunction, который является частью parentQuery с указанной частью даты interval для запроса к схеме сущности и выражению запроса expression.
parent |
Экземпляр EntitySchemaQuery. |
interval | Часть даты. |
expression | Выражение запроса. |
Инициализирует новый экземпляр EntitySchemaDatePartQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaDatePartQueryFunction, клон которой создается. |
Свойства
Псевдоним функции в sql-запросе.
Часть даты, возвращаемая функцией.
Выражение аргумента функции.
Методы
Выполняет сериализацию функции, используя заданный экземпляр Terrasoft.Common.DataWriter.
writer | Экземпляр Terrasoft.Common.DataWriter, с помощью которого выполняется сериализация. |
Возвращает выражение колонки запроса для текущей функции, сформированное с учетом заданных прав доступа.
db |
Объект Terrasoft.Core.DB.DBSecurityEngine, определяющий права доступа. |
Возвращает тип данных возвращаемого функцией результата, используя переданный менеджер типов данных.
data |
Менеджер типов данных. |
Определяет, имеет ли возвращаемый функцией результат указанный тип данных.
data |
Тип данных. |
Возвращает заголовок функции выражения.
Возвращает коллекцию выражений аргументов функции.
Создает клон текущего экземпляра EntitySchemaUpperQueryFunction.
Класс EntitySchemaUpperQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс преобразовывает символы выражения аргумента к верхнему регистру.
Конструкторы
Инициализирует новый экземпляр EntitySchemaUpperQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaUpperQueryFunction для заданного запроса к схеме объекта и переданного выражения даты.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
expression | Выражение запроса. |
Инициализирует новый экземпляр EntitySchemaUpperQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaUpperQueryFunction, клон которой создается. |
Класс EntitySchemaCastQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс приводит выражение аргумента к заданному типу данных.
Конструкторы
Инициализирует новый экземпляр EntitySchemaCastQueryFunction для заданного запроса к схеме объекта с указанным целевым типом данных.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
cast |
Целевой тип данных. |
Инициализирует новый экземпляр EntitySchemaCastQueryFunction с заданными выражением и целевым типом данных.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
expression | Выражение запроса. |
cast |
Целевой тип данных. |
Инициализирует новый экземпляр EntitySchemaCastQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaCastQueryFunction, клон которой создается. |
Класс EntitySchemaTrimQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс удаляет начальные и конечные пробелы из выражения.
Конструкторы
Инициализирует новый экземпляр EntitySchemaTrimQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaTrimQueryFunction для заданного запроса к схеме объекта и переданного выражения даты.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
expression | Выражение запроса. |
Инициализирует новый экземпляр EntitySchemaTrimQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaTrimQueryFunction, клон которой создается. |
Класс EntitySchemaLengthQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс возвращает длину выражения.
Конструкторы
Инициализирует новый экземпляр EntitySchemaLengthQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaLengthQueryFunction для заданного запроса к схеме объекта и переданного выражения даты.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
expression | Выражение запроса. |
Инициализирует новый экземпляр EntitySchemaLengthQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaLengthQueryFunction, клон которой создается. |
Класс EntitySchemaConcatQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс формирует строку, которая является результатом объединения строковых значений аргументов функции.
Конструкторы
Инициализирует новый экземпляр EntitySchemaConcatQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaConcatQueryFunction для заданных массива выражений и запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
expressions | Массив выражений. |
Инициализирует новый экземпляр EntitySchemaConcatQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaConcatQueryFunction, клон которой создается. |
Свойства
Псевдоним функции в sql-запросе.
Коллекция выражений аргументов функции.
Признак, определяющий наличие хотя бы одного элемента в коллекции выражений аргументов функции.
Класс EntitySchemaWindowQueryFunction
Пространство имен Terrasoft.Core.Entities.
Класс реализует функцию SQL окна.
Конструкторы
Инициализирует новый экземпляр EntitySchemaWindowQueryFunction для заданного запроса к схеме объекта.
parent |
Запрос к схеме объекта, которому принадлежит функция. |
Инициализирует новый экземпляр EntitySchemaWindowQueryFunction для заданного запроса к схеме объекта.
function | Вложенная функция запроса. |
esq | Запрос к схеме объекта. |
Инициализирует новый экземпляр EntitySchemaWindowQueryFunction для заданного запроса к схеме объекта.
function | Вложенная функция запроса. |
parent |
Запрос к схеме объекта, которому принадлежит функция. |
partition |
Выражение для разделения запроса. |
order |
Выражение для сортировки запроса. |
Инициализирует новый экземпляр EntitySchemaWindowQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaQueryFunction, клон которой создается. |
Инициализирует новый экземпляр EntitySchemaWindowQueryFunction, являющийся клоном переданной функции.
source | Функция EntitySchemaWindowQueryFunction, клон которой создается. |