EntitySchemaQuery.CreateSubEntitySchemaExpression - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс : CreateSubEntitySchemaExpression - метод C#
- leftExprColumnPath
- Путь к колонке, для которой создается позапрос.
Glossary Item Box
public EntitySchemaQueryExpression CreateSubEntitySchemaExpression( string leftExprColumnPath )
Параметры
- leftExprColumnPath
- Путь к колонке, для которой создается позапрос.
Тип возвращаемого значения
Экземпляр выражения подзапроса для колонки, расположенной по пути leftExprColumnPath.// Создание экземпляра запроса с корневой схемой "City". var esqResult = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "City"); esqResult.AddColumn("Id"); // Создание фильтра, в котором будут возвращаться записи для города с заданным именем. var esqFilter = new EntitySchemaQueryFilter(FilterComparisonType.Equal); // В качестве левого выражения в фильтре будет выступать подзапрос, возвращающий колонку Name схемы City. esqFilter.LeftExpression = esqResult.CreateSubEntitySchemaExpression("Name"); // Добавление в качестве правого выражения фильтра параметра со значением имени искомого города. esqFilter.RightExpressions.Add(EntitySchemaQuery.CreateParameterExpression("Киев")); esqResult.Filters.Add(esqFilter); // Получение текста результирующего sql-запроса. var esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText(); // Текст результирующего sql-запроса. // MS SQL: // SELECT // [City].[Id] [Id] // FROM // [dbo].[City] [City] // WHERE // ( // SELECT // [SubCity].[Name] [Name] // FROM // [dbo].[City] [SubCity] // WHERE // [SubCity].[Id] = [City].[Id]) = @P1 // Oracle: // SELECT // "City"."Id" "Id" // FROM // "City" "City" // WHERE // ( // SELECT // "SubCity"."Name" "Name" // FROM // "City" "SubCity" // WHERE // "SubCity"."Id" = "City"."Id") = :P1 |