У меня есть объект, который я использую для хранения метаданных документа в таблице. Основной текст документа может быть очень большим, иногда> 2 ГБ, поэтому я буду хранить его в поле nvarchar (max) в SQL 2008. Я буду использовать SQL 2008 позже, чтобы индексировать это поле. Я не буду использовать filestreams, потому что они очень ограничивают базу данных и предотвращают некоторые типы схем блокировки параллелизма.Streaming и Linq Blobs
Этот объект предоставляется разработчику через LinqToSQL. Я обеспокоен тем, что поле будет большим, и я видел .Net бомба с исключением OutOfMemory, если текст составляет> 1,5 ГБ.
Так что я задаюсь вопросом, могу ли я обработать этот blob как поток с Linq? Или мне нужно обойти Linq вообще, если я хочу использовать blob?
Спасибо за отзыв. Я думал, может быть, я мог бы добавить новое свойство для обработки поля blob и расширить частичный класс для потоковой передачи двоичных данных в базу данных отдельно от Linq. Тогда разработчик, использующий класс, не сможет сказать разницу. – Jiyosub 2008-11-14 08:48:49
Я подозреваю, что это будет не так просто (я подозреваю, что проекции с использованием свойства не будут работать), но это звучит в основном выполнимо. Вам нужно написать в базу данных из этого приложения или просто прочитать? Чтение, скорее всего, будет * много * проще :) – 2008-11-14 08:50:44