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

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

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

Glossary Item Box

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

Синтаксис

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"  

Смотри также

© Terrasoft 2002-2016.

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

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