EntitySchemaQuery.GetSummarySelectQuery(UserConnection,IEnumerable) - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > GetSummarySelectQuery - метод : GetSummarySelectQuery(UserConnection,IEnumerable) - метод C#
- userConnection
- Пользовательское подключение.
- columnNames
- Перечислитель имен колонок, для которых строится запрос на выборку итоговых значений.
Glossary Item Box
public Select GetSummarySelectQuery( UserConnection userConnection, IEnumerable<string> columnNames )
Параметры
- userConnection
- Пользовательское подключение.
- columnNames
- Перечислитель имен колонок, для которых строится запрос на выборку итоговых значений.
Тип возвращаемого значения
Экземпляр Terrasoft.Core.DB.Select построенного запроса на выборку.// Получение экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра запроса с корневой схемой "Contact". var esqResult = new EntitySchemaQuery(esqManager, "Contact"); esqResult.AddColumn(esqResult.CreateAggregationFunction(AggregationTypeStrict.Count, "Name")); // В запрос добавляются колонки CreatedOn и ModifiedOn, для которых задается тип функции для подсчета // итога по этим колонкам. esqResult.AddColumn("CreatedOn").SummaryType = AggregationType.Count; esqResult.AddColumn("ModifiedOn").SummaryType = AggregationType.Count; // Создание коллекции имен колонок запроса, для которых будет построен запрос для вычисления итоговых // значений. var esqSummaryColumns = new Collection<string> { "CreatedOn", "ModifiedOn" }; // Получение текста sql-запроса для формирования итоговых значений для колонок из коллекции // esqSummaryColumns. var summarySqlText = esqResult.GetSummarySelectQuery(UserConnection, esqSummaryColumns).GetSqlText(); // Текст sql-запроса для формирования итоговых значений. // MS SQL: // SELECT // COUNT(*) [CreatedOn], // COUNT(*) [ModifiedOn] // FROM // ( // SELECT // [Contact].[CreatedOn] [CreatedOn], // [Contact].[ModifiedOn] [ModifiedOn] // FROM // [dbo].[Contact] [Contact] // GROUP BY // [Contact].[CreatedOn], [Contact].[ModifiedOn]) [SubSelectSource] // Oracle: // SELECT // COUNT(*) "CreatedOn", // COUNT(*) "ModifiedOn" // FROM // ( // SELECT // "Contact"."CreatedOn" "CreatedOn", // "Contact"."ModifiedOn" "ModifiedOn" // FROM // "Contact" "Contact" // GROUP BY // "Contact"."CreatedOn", "Contact"."ModifiedOn") "SubSelectSource" |