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

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

comparisonType
Тип сравнения.
leftExpressionColumnPath
Путь к колонке, содержащей выражение левой части фильтра.
rightExpressionValue
Выражение подзапроса в правой части фильтра.

Glossary Item Box

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

Синтаксис

Параметры

comparisonType
Тип сравнения.
leftExpressionColumnPath
Путь к колонке, содержащей выражение левой части фильтра.
rightExpressionValue
Выражение подзапроса в правой части фильтра.

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

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

Пример

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

// Создание экземпляра результирующего запроса.
var esqResult = new EntitySchemaQuery(esqManager, "City");
esqResult.AddColumn("Id");
esqResult.AddColumn("Name");

// Создание экземпляра подзапроса, который будет возвращать дату последнего изменения схемы "City".
var subEsq = new EntitySchemaQuery(esqManager, "City");
subEsq.AddColumn(subEsq.CreateAggregationFunction(AggregationTypeStrict.Max, "ModifiedOn"));

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

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

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

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

// MS SQL:
// SELECT
//          [City].[Id] [Id],
//          [City].[Name] [Name]
// FROM
//          [dbo].[City] [City]
// WHERE
//          [City].[ModifiedOn] = (
//                      SELECT
//                              MAX([City].[ModifiedOn]) [Max]
//                      FROM
//                              [dbo].[City] [City])

// Oracle:
// SELECT
//          "City"."Id" "Id",
//          "City"."Name" "Name"
// FROM
//          "City" "City"
// WHERE
//          "City"."ModifiedOn" = (
//                      SELECT
//                              MAX("City"."ModifiedOn") "Max"
//                      FROM
//                              "City" "City") 

Смотри также

© Terrasoft 2002-2016.

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

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