EntitySchemaQuery.CreateFilter(FilterComparisonType,String,EntitySchemaQueryMacrosType,DayOfWeek) - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс > CreateFilter - метод : CreateFilter(FilterComparisonType,String,EntitySchemaQueryMacrosType,DayOfWeek) - метод C#
- comparisonType
- Тип сравнения.
- leftExpressionColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- macrosType
- Тип макроса.
- rightValue
- Значение типа System.DayOfWeek, которое обрабатывается макросом в правой части фильтра.
Glossary Item Box
Параметры
- comparisonType
- Тип сравнения.
- leftExpressionColumnPath
- Путь к колонке, содержащей выражение левой части фильтра.
- macrosType
- Тип макроса.
- rightValue
- Значение типа System.DayOfWeek, которое обрабатывается макросом в правой части фильтра.
Тип возвращаемого значения
Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.Данный метод работает только с типом макроса [День недели] (EntitySchemaQueryMacrosType.DayOfWeek). При передаче в качестве параметра macrosType любого другого типа макроса будет генерироваться исключение.
В данном примере строится запрос, который выбирает данные контактов, изменения по которым были выполнены в пятницу.
// Создание экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра EntitySchemaQuery. var esqResult = new EntitySchemaQuery(esqManager, "Contact"); esqResult.AddColumn("Id"); esqResult.AddColumn("Name"); // В качестве типа макроса выбирается тип [День недели]. var esqMacrosType = EntitySchemaQueryMacrosType.DayOfWeek; // Создание выражения типа [День недели]. var esqRightValue = DayOfWeek.Friday; // Создание экземпляра фильтра с заданными параметрами. var esqFilter = esqResult.CreateFilter(FilterComparisonType.Equal, "ModifiedOn", esqMacrosType, esqRightValue); // Добавление фильтра в коллекцию фильтров результирующего запроса. esqResult.Filters.Add(esqFilter); // Параметры в запрос будут добавлены как значения. esqResult.GetSelectQuery(UserConnection).BuildParametersAsValue = true; // Получение текста результирующего sql-запроса. string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText(); // Текст результирующего sql-запроса: // MS SQL: // SELECT // [Contact].[Id] [Id], // [Contact].[Name] [Name] // FROM // [dbo].[Contact] [Contact] // WHERE // DATEPART(WEEKDAY, [Contact].[ModifiedOn]) = 6 |