EntitySchemaQuery.CreateFilter(FilterComparisonType,EntitySchemaQueryExpression,EntitySchemaQueryMacrosType,Int32) - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilter - метод : CreateFilter(FilterComparisonType,EntitySchemaQueryExpression,EntitySchemaQueryMacrosType,Int32) - метод C#
- comparisonType
- Тип сравнения.
- leftExpression
- Выражение в левой части фильтра.
- macrosType
- Тип макроса.
- rightValue
- Значение, которое обрабатывается макросом в правой части фильтра. Необязательный параметр, по умолчанию равен
0
.
Glossary Item Box
Параметры
- comparisonType
- Тип сравнения.
- leftExpression
- Выражение в левой части фильтра.
- macrosType
- Тип макроса.
- rightValue
- Значение, которое обрабатывается макросом в правой части фильтра. Необязательный параметр, по умолчанию равен
0
.
Тип возвращаемого значения
Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.В данном примере демонстрируется создание запроса на выборку контактов, которые были созданы в текущем году.
// Создание экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра EntitySchemaQuery. var esqResult = new EntitySchemaQuery(esqManager, "Contact"); esqResult.AddColumn("Id"); esqResult.AddColumn("Name"); // В качестве типа макроса выбирается тип [Текущий год]. var esqMacrosType = EntitySchemaQueryMacrosType.CurrentYear; // Создание экземпляра выражения для колонки "CreatedOn". var esqRightExpression = new EntitySchemaQueryExpression(esqResult .CreateSchemaColumnExpression("CreatedOn")); // Создание экземпляра фильтра с заданными параметрами. var esqFilter = esqResult.CreateFilter(FilterComparisonType.Equal, esqRightExpression, esqMacrosType); // Добавление фильтра в коллекцию фильтров результирующего запроса. esqResult.Filters.Add(esqFilter); // Получение текста результирующего sql-запроса. string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText(); // Текст результирующего sql-запроса. // При выполнениии данного запроса параметры P1 и P2 будут содержать значения дат начала и конца текущего // года соответственно. // MS SQL: // SELECT // [Contact].[Id] [Id], // [Contact].[Name] [Name] // FROM // [dbo].[Contact] [Contact] // WHERE // ([Contact].[CreatedOn] >= @P1 // AND [Contact].[CreatedOn] < @P2) // Oracle: // SELECT // "Contact"."Id" "Id", // "Contact"."Name" "Name" // FROM // "Contact" "Contact" // WHERE // ("Contact"."CreatedOn" >= :P1 // AND "Contact"."CreatedOn" < :P2) |