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

EntitySchemaQuery.CreateMonthFunction - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс : CreateMonthFunction - метод C#

columnPath
Путь к колонке относительно корневой схемы.

Glossary Item Box

Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей часть даты [Месяц] для значения колонки, расположенной по указанному пути относительно корневой схемы.

Синтаксис

public EntitySchemaDatePartQueryFunction CreateMonthFunction( 
   string columnPath 
)

Параметры

columnPath
Путь к колонке относительно корневой схемы.

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

Экземпляр созданной функции EntitySchemaDatePartQueryFunction.

Пример

В данном примере демонстрируется создание запроса, который возвращает имена и дату создания контактов, созданных в феврале текущего года.
// Получение экземпляра менеджера схем объектов.
EntitySchemaManager esqManager = UserConnection.EntitySchemaManager;

// Создание экземпляра запроса с корневой схемой "Contact".
var esqResult = new EntitySchemaQuery(esqManager, "Contact");
esqResult.AddColumn("Name");
esqResult.AddColumn("CreatedOn");

// Создание экземпляра функции для колонки "CreatedOn".
var esqCreateMonthFunction = esqResult.CreateMonthFunction("CreatedOn");

// Содание экземпляра выражения параметра со значением 2 (номер месяца февраль).
var esqParameter = EntitySchemaQuery.CreateParameterExpression(2);

// Создание фильтра для выборки контактов по номеру месяца даты создания.
var esqMonthFilter = new EntitySchemaQueryFilter(FilterComparisonType.Equal)
{
    LeftExpression = new EntitySchemaQueryExpression(esqCreateMonthFunction)
};
esqMonthFilter.RightExpressions.Add(esqParameter);
esqResult.Filters.Add(esqMonthFilter);

// Создание фильтра для выборки контактов по году даты создания.
var esqYearFilter = esqResult.CreateFilter(FilterComparisonType.Equal, "CreatedOn",
                        EntitySchemaQueryMacrosType.CurrentYear);
esqResult.Filters.Add(esqYearFilter);

// Получение экземпляра запроса на выборку.
Select selectQuery = esqResult.GetSelectQuery(UserConnection);

// В текст запроса все параметры будут добавлены как значения.
selectQuery.BuildParametersAsValue = true;

// Получение текста результирующего запроса.
string esqSqlText = selectQuery.GetSqlText();

// Текст результирующего sql-запроса:

// MS SQL:
// SELECT
//            [Contact].[Name] [Name],
//            [Contact].[CreatedOn] [CreatedOn]
// FROM
//            [dbo].[Contact] [Contact]
// WHERE
//            DATEPART(MONTH, [Contact].[CreatedOn]) = 2
//            AND ([Contact].[CreatedOn] >= CONVERT(DATETIME, '2013-01-01 00:00:00.000', 121)
//            AND [Contact].[CreatedOn] < CONVERT(DATETIME, '2014-01-01 00:00:00.000', 121)) 

Смотри также

© Terrasoft 2002-2016.

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

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