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") |