EntitySchemaQuery.CreateFilterWithParameters(EntitySchemaQuery,EntitySchema,FilterComparisonType,Boolean,String,Object[]) - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilterWithParameters - метод : CreateFilterWithParameters(EntitySchemaQuery,EntitySchema,FilterComparisonType,Boolean,String,Object[]) - метод C#
- parentQuery
- Родительский запрос, для которого создается фильтр.
- rootSchema
- Корневая схема.
- comparisonType
- Тип операции сравнения в фильтре.
- useDisplayValue
- Признак типа значения колонки, которое используется в фильтре:
true
- значение для отображения;false
- хранимое значение.
- leftExpressionColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- rightExpressionParameterValues
- Массив значений выражений параметров в правой части фильтра.
Glossary Item Box
public static IEntitySchemaQueryFilterItem CreateFilterWithParameters( EntitySchemaQuery parentQuery, EntitySchema rootSchema, FilterComparisonType comparisonType, bool useDisplayValue, string leftExpressionColumnPath, params object[] rightExpressionParameterValues )
Параметры
- parentQuery
- Родительский запрос, для которого создается фильтр.
- rootSchema
- Корневая схема.
- comparisonType
- Тип операции сравнения в фильтре.
- useDisplayValue
- Признак типа значения колонки, которое используется в фильтре:
true
- значение для отображения;false
- хранимое значение. - leftExpressionColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- rightExpressionParameterValues
- Массив значений выражений параметров в правой части фильтра.
Тип возвращаемого значения
Экземпляр фильтра .В данном примере демонстрируется построение фильтра для выборки идентификаторов стран с заданными именами.
// Создание экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Получение экземпляра корневой схемы "Country". var rootEntitySchema = (EntitySchema)esqManager.GetInstanceByName("Country"); // Создание экземпляра результирующего запроса. var esqResult = new EntitySchemaQuery(rootEntitySchema); esqResult.AddColumn("Id"); // Определяем список значений параметров (имена стран, идентификаторы которых выбираются). var filterValues = new object[] { "Россия", "Украина" }; // Создание экземпляра фильтра с заданными параметрами. var filter = EntitySchemaQuery.CreateFilterWithParameters(esqResult, rootEntitySchema, FilterComparisonType.Equal, false, "Name", filterValues); // Добавление фильтра в коллекцию фильтров результирующего запроса. esqResult.Filters.Add(filter); // Получение текста результирующего запроса. string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText(); // Текст результирующего sql-запроса. // MS SQL: // SELECT // [Country].[Id] [Id] // FROM // [dbo].[Country] [Country] // WHERE // [Country].[Name] IN (@P1, @P2) // Oracle: // SELECT // "Country"."Id" "Id" // FROM // "Country" "Country" // WHERE // "Country"."Name" IN (:P1, :P2) |