Creatio development guide
Это документация Creatio версии 7.8.0. Мы рекомендуем использовать новую версию документации.

EntitySchemaQuery.GetSummarySelectQuery(UserConnection,EntitySchemaQueryColumnCollection) - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > GetSummarySelectQuery - метод : GetSummarySelectQuery(UserConnection,EntitySchemaQueryColumnCollection) - метод C#

userConnection
Пользовательское подключение.
summaryColumns
Коллекция колонок, для которых строится запрос на выборку итоговых значений.

Glossary Item Box

Возвращает запрос на выборку итоговых (агрегирующих) значений для заданной коллекции колонок текущего экземпляра EntitySchemaQuery, используя заданное пользовательское подключение.

Синтаксис

public Select GetSummarySelectQuery( 
   UserConnection userConnection, 
   EntitySchemaQueryColumnCollection summaryColumns 
)

Параметры

userConnection
Пользовательское подключение.
summaryColumns
Коллекция колонок, для которых строится запрос на выборку итоговых значений.

Тип возвращаемого значения

Экземпляр Terrasoft.Core.DB.Select построенного запроса на выборку.

Исключения

ИсключениеОписание
SelectFromVirtualSchemaExceptionПри попытке построения запроса на выборку из виртуальной схемы.
Terrasoft.Common.ArgumentNullOrEmptyExceptionЕсли в качестве параметра summaryColumns передано значение null или если коллекция колонок не содержит ни одного элемента.

Пример

// Получение экземпляра менеджера схем объектов.
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 = esqResult.GetSummaryColumns();

// Получение текста 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" 

Смотри также

© Terrasoft 2002-2016.

Был ли данный материал полезен?

Как можно улучшить эту статью?