EntitySchemaQuery.CreateCurrentUserAccountFunction - метод Смотри также Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс : CreateCurrentUserAccountFunction - метод C#
Glossary Item Box
public EntitySchemaCurrentUserAccountQueryFunction CreateCurrentUserAccountFunction()
Тип возвращаемого значения
Экземпляр созданной функции EntitySchemaCurrentUserAccountQueryFunction.В данном примере создается запрос, который возвращает наименование контрагента текущего пользователя системы.
При выполнении запроса параметр P1 будет заменен значением идентификатора контрагента текущего контакта.
// Создание экезмпляра менеджера схем объектов. EntitySchemaManager esqManager = UserConnection.EntitySchemaManager; // Создание экземпляра запроса с корневой схемой "Account". var esqResult = new EntitySchemaQuery(esqManager, "Account"); // Добавление в результат запроса колонки с именем контрагента. esqResult.AddColumn("Name"); // Создание экземпляра функции, возвращающей идентификатор контрагента текущего пользователя. var esqCurrentUserAccountFunction = esqResult.CreateCurrentUserAccountFunction(); // Создание фильтра для выборки контрагента текущего пользователя системы. var esqFilter = esqResult.CreateFilter(FilterComparisonType.Equal, "[Contact:Account:Id].Account", esqCurrentUserAccountFunction); // Добавление созданнго фильтра в коллекцию фильтров результирующего запроса. esqResult.Filters.Add(esqFilter); // Получение текста результирующего запроса. string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText(); // Текст результирующего sql-запроса. // MS SQL: // SELECT // [Account].[Name] [Name] // FROM // [dbo].[Account] [Account] // WHERE // EXISTS ( // SELECT // [Contact].[Id] [Id] // FROM // [dbo].[Contact] [Contact] // WHERE // [Account].[Id] = [Contact].[AccountId] // AND [Contact].[AccountId] = @P1) // Oracle: // SELECT // "Account"."Name" "Name" // FROM // "Account" "Account" // WHERE // EXISTS ( // SELECT // "Contact"."Id" "Id" // FROM // "Contact" "Contact" // WHERE // "Account"."Id" = "Contact"."AccountId" // AND "Contact"."AccountId" = :P1) |