Избегание LOH при чтении двоичного файла

Этот вопрос является продолжениемЭффективный способ передачи многих двоичных файлов в базу данных SQL Server

Я изначально спросил, почему с помощьюFile.ReadAllBytes вызывал быстрое использование памяти, и было решено, что с помощью этого метода данные помещаются в кучу больших объектов, которая не может быть легко восстановлена во время выполнения.

Мой вопрос сейчас заключается в том, как избежать этой ситуации?

using (var fs = new FileStream(path, FileMode.Open))
{
    using (var ms = new MemoryStream())
    {
        byte[] buffer = new byte[2048];
        int bytesRead;
        while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0)
        {
            ms.Write(buffer, 0, bytesRead);
        }
        return new CustomFile { FileValue = ms.ToArray() };
   }
}

Следующий код был призван обойти проблему, читая файл порциями вместо всех сразу, но похоже, что проблема та же.

Ответы на вопрос(1)

Ваш ответ на вопрос