GetAllCached – получить все сущности из кэша
<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > Get, GetAll, GetCached, GetAllCached – получение сущности GetAllCached – получить все сущности из кэша |
Метод используется для получения всех экземпляров сущности из кэша. C помощью метода можно получить сущность или список сущностей, исходя из определенных условий. Для написания условий используются лямбда-выражения, которые можно передавать в качестве аргументов или возвращать в качестве значений из вызовов функций.
Метод GetAllCached() работает так же, как и метод GetAll(), но берет данные из кэшированного справочника. Обычно на клиенте кэшируются редко изменяемые и справочники до 2000 записей (см. параметр Кэшировать на клиенте в редакторе типа сущности).
Преимущество метода GetAllCached() в том, что его можно вызывать как в серверном, так и в клиентском коде.
Перегрузки
GetAllCached() |
Получить все сущности из кэша |
GetAllCached(Expression<Func<T, bool>> criteria) |
Получить все сущности из кэша по определенным условиям |
Синтаксис
C# |
public static GetAllCached(Expression<Func<T, bool>> criteria); |
Параметры
criteria – условие. Используется, если необходимо получить список сущностей, исходя из каких-либо условий.
Возвращаемое значение
Сущности из кэша.
Пример 1. Получить все сущности из кэшируемого справочника Employee
// Проверить, что тип сущности Employee – кэшируемый.
if (Employees.Info.IsCacheable)
// Получить всех сотрудников типа Employee, у которых Id больше 15.
var employeeList = Employees.GetAllCached(e => e.Id > 15);
Пример 2. Получить сертификаты текущего пользователя
/// <summary>
/// Получить сертификаты текущего пользователя.
/// </summary>
/// <returns>Сертификаты текущего пользователя.</returns>
public static List<ICertificate> GetCertificates()
{
var now = Calendar.Now;
return Certificates.GetAllCached(c => Users.Current.Equals(c.Owner) &&
(c.Enabled == true) &&
(!c.NotBefore.HasValue || c.NotBefore <= now)
&& (!c.NotAfter.HasValue || c.NotAfter >= now))
.ToList();
}
© Компания Directum, 2024 |