роботи більше не маєш чи шо? нормальна
как минимум, перед циклом вытащи всех юзеров, что есть в наборе тикетов. и в цикле уже к листу этому обращайся. а то у тебя будет 100 тикетов с одним юзером и ты на каждом будешь ходить в базу ещё раз
понял, спасибо
Вроде это можно написать 1 запросом к базе
Как, подскажи пожалуйста?
Скинь код текстом
public async Task<IEnumerable<TicketDto>> GetAllTickets(int projectId) { var tickets = await _ticketRepository.GetAllTicketsAsync( projectId); foreach(var t in tickets) { var fullNameUser = await _userRepository.GetUserAsync(t.CreatedByUserId); t.CreatedByUserId = $"{fullNameUser.FirstName} {fullNameUser.LastName}"; } return _mapper.Map<IEnumerable<TicketDto>>(tickets); }
public async Task<IEnumerable<TicketDto>> GetAllTickets(int projectId) { var tickets = await _context.Tickets .Where(t => t.ProjectId == projectId) .Select(t => new TicketDto { Id = t.Id, Title = t.Title, Description = t.Description, Status = t.Status, CreatedByUserId = t.CreatedByUser.FirstName + " " + t.CreatedByUser.LastName }) .ToListAsync(); return tickets; }
Спасибо большое👍
Ах ты хитрожопый
Обсуждают сегодня