GetAll – получить все сущности
<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > Get, GetAll, GetCached, GetAllCached – получение сущности GetAll – получить все сущности |
Метод используется для получения всех экземпляров сущности. Если необходимо получить конкретную сущность, то используйте метод Get().
C помощью метода можно получить сущность или список сущностей, исходя из определенных условий. Для написания условий используются лямбда-выражения, которые можно передавать в качестве аргументов или возвращать в качестве значений из вызовов функций.
Перегрузки
GetAll() |
Получить все сущности |
GetAll(Expression<Func<T, bool>> criteria) |
Получить все сущности по определенным условиям |
Синтаксис
C# |
public static GetAll(Expression<Func<T, bool>> criteria); |
Параметры
criteria – условие. Используется, если необходимо получить список сущностей, исходя из каких-либо условий.
Возвращаемое значение
Все экземпляры сущности.
Пример 1. Получение всех сущностей определенного типа (включая наследников)
// Получить список всех сотрудников.
var allEmployees = Sungero.Company.Employees.GetAll();
Обратите внимание на всплывающую подсказку к переменной allEmployees:
Метод GetAll() вернет в переменную allEmployees коллекцию IQueryable, содержащую объекты, реализующие интерфейс IEmployee. Подробнее о IQueryable<T>, включая список доступных методов, см. в документации по .NET, например, в статье «Queryable Class».
Если необходимо получить сущность или список сущностей, исходя из каких-либо ее свойств, например, «Имя», «Состояние» и т.д., то в качестве параметра можно указать LINQ-запрос, который вернет все сущности, удовлетворяющие результатам этого запроса.
Пример 2. Получение списка сущностей с условием (лямбда-выражение)
// Получить все документы, созданные в заданный период.
var periodEnd = Calendar.Now;
var periodBegin = cache.LastUpdate ?? periodEnd.AddDays(-180).Date;
var allDocuments = Content.ElectronicDocuments.GetAll().Where(t => t.Created.Between(periodBegin, periodEnd));
Пример 3. Получение списка сущностей с использованием LINQ-запроса
/// <summary>
/// Получить подразделение сотрудника.
/// </summary>
/// <param name="user">Пользователь.</param>
/// <returns>Подразделение сотрудника.</returns>
[Remote(IsPure = true)]
public static IDepartment GetDepartment(IUser user)
{
var employee = Employees.GetAll().FirstOrDefault(u => Equals(u, user));
if (employee == null)
return null;
return employee.Department;
}
FirstOrDefault() возвращает первый элемент последовательности или значение по умолчанию, если последовательность не содержит элементов.
© Компания Directum, 2024 |