Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
product:linq:exaples [15.09.2025 09:34] – [Поиск задач в проекте с максимальным отклонением] ekaterina.menkhuzinaproduct:linq:exaples [15.09.2025 13:14] (текущий) ekaterina.menkhuzina
Строка 858: Строка 858:
 return projects; return projects;
  
 +</code>
 +
 +===== Последняя по времени запись в протоколе =====
 +<code csharp>
 +// Пример linq-запроса на событие последнего изменения объекта:
 +var projectId = parameters.GetValueOrDefault<Guid?>("ProjectId", new Guid("a6ed1995-582c-42d3-afa0-6db8c280b212")); // UID объекта
 +var lastEvent = dataContext.Events // получаем события  
 +    .Where(p => p.ObjectId == projectId) // фильтруем по id объекта  
 +    .OrderByDescending(p => p.Time) // сортировка по полю Time  
 +    .Select(p => new  
 +    {  
 +        Время = p.Time,  
 +        UID_пользователя = p.PersonId,  
 +        Текст = p.MessageHtml,  
 +        ИД_проекта = p.ObjectId,  
 +        Данные_события = p.MessageData,  
 +        Тип_события = p.Type,  
 +    })  
 +    .Take(1) // берем только одну запись  
 +    .ToList(); // преобразуем в список  
 +
 +return lastEvent; // Возвращаем список, содержащий последнюю запись или пустой список
 </code> </code>