Entity SQL - извлекает байтовые данные порциями - PullRequest
0 голосов
/ 26 октября 2010

Следующий код извлекает все байтовые данные одновременно.

Мне интересно, как получить доступ к байтовым данным, хранящимся в chunk , с использованием структуры сущностей.Поскольку файлы очень большие (около 50 МБ), я хочу отправить их пользователю по частям, как только получу частичные байты из базы данных.

using (Entities context = new Entities(EntitiesConnectionString))
{
    byte[] data = context.MyFileTable
        .Where(item => item.FileId == 1)
        .Select(item => FileData)
        .FirstOrDefault();
}

Заранее спасибо!

1 Ответ

1 голос
/ 28 октября 2010

Это невозможно.EF и LinQ вообще перечисляют из источника.Это только когда-либо даст полные объекты из этого источника.

У меня есть 2 возможных решения:

  1. Запрос данных с вашими квалификационными критериями, которые возвращают ссылку на то, что должно быть загружено, а затем поток оттуда.1007 *

  2. Напишите класс-оболочку, который реализует IEnumerable, пусть он возвращает ваши данные вместе с объектом потока, который вы затем можете запросить.Затем вы можете запросить этот объект, и вам будет доступен поток по результирующему набору.1.

Вариант № 1, вероятно, самый простой.1.

...