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