Потоковое и Linq Blobs - PullRequest
       17

Потоковое и Linq Blobs

4 голосов
/ 14 ноября 2008

У меня есть объект, который я использую для хранения метаданных документа в таблице. Основной текст документа может быть очень большим, иногда> 2 ГБ, поэтому я буду хранить его в поле nvarchar (max) в SQL 2008. Позже я буду использовать SQL 2008 для индексирования этого поля. Я не буду использовать файловые потоки, потому что они очень ограничивают базу данных и предотвращают определенные типы схем блокировки параллелизма.

Этот объект предоставляется разработчику через LinqToSQL. Меня беспокоит, что поле будет слишком большим, и я видел, как .Net бомбардировался с исключением OutOfMemory, если текст> 1,5 ГБ.

Итак, мне интересно, могу ли я рассматривать этот BLOB-объект как поток с Linq? Или мне вообще нужно обойти Linq, если я хочу использовать BLOB-объект?

Ответы [ 2 ]

2 голосов
/ 14 ноября 2008

Учитывая ответ на "Может ли запрос LINQ получить BLOB [...]" Я подозреваю , вам не повезло. Тип System.Data.Linq.Binary не имеет никакого механизма для потоковой передачи - в основном это просто неизменяемое представление байтового массива.

Возможно, вы могли бы использовать глубокое LINQ mojo, но я подозреваю, что оно действительно должно быть довольно глубоким.

Возможно, что Entity Framework справится с этим - я этого не исследовал.

1 голос
/ 08 декабря 2008

Я закончил писать свой собственный метод на основе linqtoSql, в котором использовался метод записи, доступный для объектов varchar (max) в SQL. Это позволяет разработчикам вставлять фрагменты в БД для больших типов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...