EntitySchemaQuery.CreateIsNotNullFilter - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс : CreateIsNotNullFilter - метод C#
- leftExpressionColumnPath
- Путь к колонке, для которой строится фильтр.
Glossary Item Box
null
в базе данных], устанавливая в качестве проверяемого значения выражение колонки, расположенной по указанному пути.
public IEntitySchemaQueryFilterItem CreateIsNotNullFilter( string leftExpressionColumnPath )
Параметры
- leftExpressionColumnPath
- Путь к колонке, для которой строится фильтр.
Тип возвращаемого значения
Экземпляр созданного фильтра IEntitySchemaQueryFilterItem.Текст конечного запроса зависит от типа данных проверяемой в фильтре колонки:
- строковый/текстовый типы данных: NOT [Имя_колонки] = N''
- числовые типы данных: NOT [Имя_колонки] = 0
- остальные типы данных: NOT [Имя_колонки] IS NULL
В данном примере демонстрируется создание запроса с фильтром сравнения типа [Не является null в базе данных] для колонок с различными типами данных.
// Создание экземпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра запроса с корневой схемой "Country". var esqResult = new EntitySchemaQuery(esqManager, "Country"); esqResult.AddColumn("Name"); // Создание фильтра для колонки со строковым типом данных. var esqIsNotNullStringFilter = esqResult.CreateIsNotNullFilter("Name"); esqResult.Filters.Add(esqIsNotNullStringFilter); // Создание фильтра для колонки с типом данных Дата/время. var esqIsNotNullDateFilter = esqResult.CreateIsNotNullFilter("ModifiedOn"); esqResult.Filters.Add(esqIsNotNullDateFilter); // Создание фильтра для колонки с числовым типом данных. var esqIsNotNullIntFilter = esqResult.CreateIsNotNullFilter("ProcessListeners"); esqResult.Filters.Add(esqIsNotNullIntFilter); Select selectQuery = esqResult.GetSelectQuery(UserConnection); selectQuery.BuildParametersAsValue = true; // Получение текста результирующего запроса. string esqSqlText = selectQuery.GetSqlText(); // Текст результирующего sql-запроса. // MS SQL: // SELECT // [Country].[Name] [Name] // FROM // [dbo].[Country] [Country] // WHERE // NOT [Country].[Name] = N'' // AND NOT [Country].[ModifiedOn] IS NULL // AND NOT [Country].[ProcessListeners] = 0 // Oracle: // SELECT // "Country"."Name" "Name" // FROM // "Country" "Country" // WHERE // NOT "Country"."Name" = N'' // AND NOT "Country"."ModifiedOn" IS NULL // AND NOT "Country"."ProcessListeners" = 0 |