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

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

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

Синтаксис

Параметры

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)

Смотри также

© Terrasoft 2002-2016.

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

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