Как правильно использовать Automapper изменив сущность C# .NET

Необходимо правильно намэппить сущность на DTO модель. Суть такая, чо мне нужно сохранять в СУБД с клиента на сервер фото. Я на клиенте кодирую его в строку Base64 и отравляю на сервер. На сервере обрабатываю и сохраняю в файл по указанному пути (имя папки на сервере + имя файла). После чего, например я хочу получить всех типо "сотрудников" с фото с сервера. Сущность:

public record Employee : BaseEntity // В BaseEntity только long Id
{
    public string? Name { get; set; }

    public string? LastName { get; set; }

    public string? Department { get; set; }

    public DateTimeOffset DateTime { get; set; }

    public string? PhotoPath { get; set; }
    
    public string? PhotoName { get; set; }
}

DTO модель:

public class EmployeeDto : BaseModelDto
{
    [Required(ErrorMessage = "Enter the name")]
    public string? Name { get; set; }

    [Required(ErrorMessage = "Enter the last name")]
    public string? LastName { get; set; }

    [Required(ErrorMessage = "Enter the department")]
    public string? Department { get; set; }

    public DateTimeOffset DateTime { get; set; }

    public string? Photo { get; set; }  // это закодированная картинка в Base64
    public string? PhotoName { get; set; }
}

Настройка Automapper:

public MappingProfile()
{
    CreateMap<EmployeeDto, Employee>();
    CreateMap<Employee, EmployeeDto>();
}

Метод получения всех фото с БД и отправление на клиента (код контроллера не прилагаю, так как там просто вызов этого метода), где собственно и затуп:

 public async Task<IReadOnlyList<EmployeeDto?>> GetAllWithPhotoAsync(CancellationToken cancellationToken)
 { 
    var employees = await _employeeRepository.ListAsync(cancellationToken);

    foreach (var employee in employees)
    {
        if (employee.PhotoPath != null)
        {
            await using var fileStream = File.Open(employee.PhotoPath, FileMode.Open);
            {
                var buffer = new byte[fileStream.Length];
                var packedImage = Convert.ToBase64String(buffer);

                //TODO: как тут быть?
            }
        }
    }

    //TODO: как тут быть?
    return _mapper.Map<IReadOnlyList<EmployeeDto>>(employees);
 }

Ответы (0 шт):