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

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

comparisonType
Тип сравнения.
leftExpression
Выражение в левой части фильтра.
macrosType
Тип макроса.
rightValue
Значение, которое обрабатывается макросом в правой части фильтра. Необязательный параметр, по умолчанию равен 0.

Glossary Item Box

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

Синтаксис

Параметры

comparisonType
Тип сравнения.
leftExpression
Выражение в левой части фильтра.
macrosType
Тип макроса.
rightValue
Значение, которое обрабатывается макросом в правой части фильтра. Необязательный параметр, по умолчанию равен 0.

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

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

Пример

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

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

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

// Создание экземпляра выражения для колонки "CreatedOn".
var esqRightExpression = new EntitySchemaQueryExpression(esqResult
                            .CreateSchemaColumnExpression("CreatedOn"));

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

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

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

// Текст результирующего sql-запроса.
// При выполнениии данного запроса параметры P1 и P2 будут содержать значения дат начала и конца текущего 
// года соответственно.

// 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.

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

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