Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Работа с сущностью базы данных

Glossary Item Box

Примеры использования класса Entity для работы с базой данных

Пакет с конфигурационным веб-сервисом, реализующим приведенные ниже примеры, можно скачать по ссылке.

Пример 1

Получение значения колонки схемы [City] с именем [Name]
 
 
public string GetEntityColumnData()
{
    var result = "";
    // Создание запроса к схеме City, добавление в запрос колонки Name.
    var esqResult = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "City");
    var colName = esqResult.AddColumn("Name");
    // Выполнение запроса к базе данных и получение объекта с заданным идентификатором. UId объекта можно получить из строки навигации браузера с открытой страницей редактирования записи раздела.
    var entity = esqResult.GetEntity(UserConnection, new Guid("100B6B13-E8BB-DF11-B00F-001D60E938C6"));
    // Получение значения колонки объекта.
    result += entity.GetColumnValue(colName.Name).ToString();
    return result;
}

Пример 2

Получение коллекции имен колонок схемы [City]

 

 
 
public IEnumerable<string> GetEntityColumns()
{
    // Создание объекта строки данных схемы City (по идентификатору схемы, полученному из базы данных).
    var entity = new Entity(UserConnection, new Guid("5CA90B6A-93E7-4448-BEFE-AB5166EC2CFE"));
    // Получение из базы данных объекта с заданным идентификатором. UId объекта можно получить из строки навигации браузера с открытой страницей редактирования записи раздела.
    entity.FetchFromDB(new Guid("100B6B13-E8BB-DF11-B00F-001D60E938C6"),true);
    // Получение коллекции имен колонок объекта.
    var result = entity.GetColumnValueNames();
    return result;
}

Пример 3

Удаление из базы записи схемы [Order]
 
 
public bool DeleteEntity()
{
    // Создание запроса к схеме Order, добавление в запрос всех колонок схемы.
    var esqResult = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Order");
    esqResult.AddAllSchemaColumns();
    // Выполнение запроса к базе данных и получение объекта с заданным идентификатором. UId объекта можно получить из строки навигации браузера с открытой страницей редактирования записи раздела.
    var entity = esqResult.GetEntity(UserConnection, new Guid("e3bfa32f-3fe9-4bae-9332-16c162c51e0d"));
    // Удаление объекта из базы данных.
    entity.Delete();
    // Проверка, существует ли в базе данных объект с заданным идентификатором.
    var result = entity.ExistInDB(new Guid("e3bfa32f-3fe9-4bae-9332-16c162c51e0d"));
    return result;
}

Пример 4

Изменение статуса заказа
 
 
public bool UpdateEntity()
{
    // Создание запроса к схеме Order, добавление в запрос всех колонок схемы.
    var esqResult = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Order");
    esqResult.AddAllSchemaColumns();
    // Выполнение запроса к базе данных и получение объекта с заданным идентификатором. UId объекта можно получить из строки навигации браузера с открытой страницей редактирования записи раздела.
    var entity = esqResult.GetEntity(UserConnection, new Guid("58be5223-715d-4b16-a5c4-e3d4ec0412d9"));
    // Создание объекта строки данных схемы OrderStatus.
    var statusSchema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
    var newStatus = statusSchema.CreateEntity(UserConnection);
    // Получение из базы данных объекта c заданным названием.
    newStatus.FetchFromDB("Name", "4. Completed");
    // Присваивает колонке StatusId новое значение.
    entity.SetColumnValue("StatusId", newStatus.GetTypedColumnValue<Guid>("Id"));
    // Сохранение измененного объекта в базе данных.
    var result = entity.Save();
    return result;
}

Пример 5

Добавление города с указанным названием, привязав его к указанной стране
 
 
public bool InsertEntity(string city, string country)
{
    city = city ?? "unknown city";
    country = country ?? "unknown country";
    var citySchema = UserConnection.EntitySchemaManager.GetInstanceByName("City");
    var entity = citySchema.CreateEntity(UserConnection);
    entity.FetchFromDB("Name", city);
    // Устанавливает для колонок объекта значения по умолчанию.
    entity.SetDefColumnValues();
    var contryEntity = new Entity(UserConnection, new Guid("09FCE1F8-515C-4296-95CD-8CD93F79A6CF"));
    contryEntity.FetchFromDB("Name", country);
    // Присваивает колонке Name переданное название города.
    entity.SetColumnValue("Name", city);
    // Присваивает колонке CountryId UId переданной страны.
    entity.SetColumnValue("CountryId", contryEntity.GetTypedColumnValue<Guid>("Id"));
    var result = entity.Save();
    return result;
}

Смотрите также:

© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?