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

EntitySchemaQuery.CreateParameterExpressions(DataValueType,Object[]) - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateParameterExpressions - метод : CreateParameterExpressions(DataValueType,Object[]) - метод C#

valueType
Тип данных значений параметров.
parameterValues
Массив значений параметров.

Glossary Item Box

Возвращает перечислитель выражений запросов для параметров с переданными значениями определенного типа данных.

Синтаксис

public static IEnumerable<EntitySchemaQueryExpression> CreateParameterExpressions( 
   DataValueType valueType, 
   params object[] parameterValues 
)

Параметры

valueType
Тип данных значений параметров.
parameterValues
Массив значений параметров.

Тип возвращаемого значения

Перечислитель выражений запросов для параметров со значениями parameterValues типа данных valueType.

Пример

// Создание экземпляра запроса с корневой схемой "City".
var esqResult = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "City");
esqResult.AddColumn("Id");

// Список имен городов, для которых будет строиться фильтр.
var cityNames = new object[]
{
    "Киев", 
    "Москва"
};

// Создание фильтра для выборки записей для городов с заданными именами.
var esqFilter = new EntitySchemaQueryFilter(FilterComparisonType.Equal);
esqFilter.LeftExpression = esqResult.CreateSchemaColumnExpression("Name");

// Создание коллекции выражений параметров со значениями из cityNames
var esqParameterExpressions = EntitySchemaQuery
                                .CreateParameterExpressions(UserConnection.DataValueTypeManager
                                                            .GetInstanceByName("Text"),cityNames);
// Добавляем созданные выражения параметров в коллекцию выражений правой части создаваемого фильтра.
foreach (var parameterExpression in esqParameterExpressions)
{
    esqFilter.RightExpressions.Add(parameterExpression);
}
esqResult.Filters.Add(esqFilter);

// Получение текста результирующего sql-запроса.
var esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText();

// Текст результирующего sql-запроса.

// MS SQL:
// SELECT
//            [City].[Id] [Id]
// FROM
//            [dbo].[City] [City]
// WHERE
//            [City].[Name] IN (@P1, @P2)

// Oracle:
// SELECT
//            "City"."Id" "Id"
// FROM
//            "City" "City"
// WHERE
//            "City"."Name" IN (:P1, :P2)

Смотри также

© Terrasoft 2002-2016.

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

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