EntitySchemaQuery.CreateFilterWithParameters(FilterComparisonType,Boolean,String,Object[]) - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilterWithParameters - метод : CreateFilterWithParameters(FilterComparisonType,Boolean,String,Object[]) - метод C#
- comparisonType
- Тип сравнения.
- useDisplayValue
- Признак типа значения колонки-справочника, которое используется в фильтре:
true
- значение для отображения;false
- хранимое значение.
- leftExpressionColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- rightExpressionParameterValues
- Список значений параметров из правой части фильтра.
Glossary Item Box
public IEntitySchemaQueryFilterItem CreateFilterWithParameters( FilterComparisonType comparisonType, bool useDisplayValue, string leftExpressionColumnPath, params object[] rightExpressionParameterValues )
Параметры
- comparisonType
- Тип сравнения.
- useDisplayValue
- Признак типа значения колонки-справочника, которое используется в фильтре:
true
- значение для отображения;false
- хранимое значение. - leftExpressionColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- rightExpressionParameterValues
- Список значений параметров из правой части фильтра.
Тип возвращаемого значения
Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.В данном примере строится фильтр для выборки тех контрагентов, у которых есть контакты, дата рождения которых лежит в пределах от 01.01.1970 до 01.01.1990.
// Создание экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра результирующего запроса. var esqResult = new EntitySchemaQuery(esqManager, "Account"); esqResult.AddColumn("Id"); esqResult.AddColumn("Name"); // Создание экземпляра фильтра с заданными параметрами. var filter = esqResult.CreateFilterWithParameters(FilterComparisonType.Between, true, "[Contact:Account:Id].BirthDate", new DateTime(1970, 1, 1), new DateTime(1990, 1, 1)); // Добавление фильтра в коллекцию фильтров результирующего запроса. esqResult.Filters.Add(filter); // Получение текста результирующего запроса. string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText(); // Текст результирующего sql-запроса. // MS SQL: // SELECT // [Account].[Id] [Id], // [Account].[Name] [Name] // FROM // [dbo].[Account] [Account] // WHERE // EXISTS ( // SELECT // [Contact].[Id] [Id] // FROM // [dbo].[Contact] [Contact] // WHERE // [Account].[Id] = [Contact].[AccountId] // AND // [Contact].[BirthDate] BETWEEN @P1 AND @P2) // Oracle: // SELECT // "Account"."Id" "Id", // "Account"."Name" "Name" // FROM // "Account" "Account" // WHERE // EXISTS ( // SELECT // "Contact"."Id" "Id" // FROM // "Contact" "Contact" // WHERE // "Account"."Id" = "Contact"."AccountId" // AND // "Contact"."BirthDate" BETWEEN :P1 AND :P2) |