EntitySchemaQuery.CreateFilter(FilterComparisonType,String,AggregationTypeStrict,Double) - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilter - метод : CreateFilter(FilterComparisonType,String,AggregationTypeStrict,Double) - метод C#
- comparisonType
- Тип сравнения.
- leftExprColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- leftExprAggregationType
- Тип агрегирующей функции.
- rightExprParameterValue
- Значение параметра, к которому применяется агрегирующая функция в правой части фильтра.
Glossary Item Box
Параметры
- comparisonType
- Тип сравнения.
- leftExprColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- leftExprAggregationType
- Тип агрегирующей функции.
- rightExprParameterValue
- Значение параметра, к которому применяется агрегирующая функция в правой части фильтра.
Тип возвращаемого значения
Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.В данном примере создается запрос, который возвращает идентификаторы стран, которые имеют 3 и более города.
// Создание экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра результирующего запроса. var esqResult = new EntitySchemaQuery(esqManager, "Country"); esqResult.AddColumn("Id"); // Создание экземпляра фильтра с заданными параметрами. var filter = esqResult.CreateFilter(FilterComparisonType.GreaterOrEqual, "[City:Country].Name", AggregationTypeStrict.Count, 3); // Получение экземпляра результирующего sql-запроса на выборку данных. var resultSelectQuery = esqResult.GetSelectQuery(UserConnection); // Параметры в запрос будут добавляться как значения. resultSelectQuery.BuildParametersAsValue = true; // Добавление фильтра в коллекцию фильтров результирующего запроса. esqResult.Filters.Add(filter); // Получение текста результирующего sql-запроса. string esqSqlText = resultSelectQuery.GetSqlText(); // Текст результирующего sql-запроса: // MS SQL: // SELECT // [Country].[Id] [Id] // FROM // [dbo].[Country] [Country] // WHERE // ( // SELECT // COUNT([SubCity].[Id]) [Count] // FROM // [dbo].[City] [SubCity] // WHERE // [SubCity].[CountryId] = [Country].[Id]) >= 3 // Oracle: // SELECT // "Country"."Id" "Id" // FROM // "Country" "Country" // WHERE // ( // SELECT // COUNT("SubCity"."Id") "Count" // FROM // "City" "SubCity" // WHERE // "SubCity"."CountryId" = "Country"."Id") >= 3 |