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

EntitySchemaQuery.CreateFilter(FilterComparisonType,String,EntitySchemaQueryMacrosType,Int32) - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilter - метод : CreateFilter(FilterComparisonType,String,EntitySchemaQueryMacrosType,Int32) - метод C#

comparisonType
Тип сравнения.
leftExpressionColumnPath
Путь к колонке, содержащей выражение левой части фильтра.
macrosType
Тип макроса.
rightValue
Значение, которое обрабатывается макросом в правой части фильтра. Используется для типов макроса NextNDays и PreviousNDays. Необязательный параметр, по умолчанию равен 0.

Glossary Item Box

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

Синтаксис

Параметры

comparisonType
Тип сравнения.
leftExpressionColumnPath
Путь к колонке, содержащей выражение левой части фильтра.
macrosType
Тип макроса.
rightValue
Значение, которое обрабатывается макросом в правой части фильтра. Используется для типов макроса NextNDays и PreviousNDays. Необязательный параметр, по умолчанию равен 0.

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

Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.

Пример

В данном примере создается запрос, который выбирает всех контактов, созданных в течение предыдущих 7 дней. 

// Создание экземпляра менеджера схем объектов.
EntitySchemaManager esqManager = UserConnection.EntitySchemaManager;

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

// В качестве типа макроса выбирается тип [Предыдущие N дней].
var esqMacrosType = EntitySchemaQueryMacrosType.PreviousNDays;

int prevDayCount = 7;

// Создание экземпляра фильтра с заданными параметрами.
var esqFilter = esqResult.CreateFilter(FilterComparisonType.Equal, "CreatedOn", esqMacrosType, 
                                    prevDayCount);

// Добавление фильтра в коллекцию фильтров результирующего запроса.
esqResult.Filters.Add(esqFilter);

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

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

// MS SQL:
// SELECT
//          [Contact].[Id] [Id],
//          [Contact].[Name] [Name]
// FROM
//          [dbo].[Contact] [Contact]
// WHERE
//          ([Contact].[CreatedOn] >= @P1
//          AND [Contact].[CreatedOn] < @P2)

// Oracle:
// SELECT
//          "Contact"."Id" "Id",
//          "Contact"."Name" "Name"
// FROM
//          "Contact" "Contact"
// WHERE
//          ("Contact"."CreatedOn" >= :P1
//          AND "Contact"."CreatedOn" < :P2) 

Смотри также

© Terrasoft 2002-2016.

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

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