LINQ to SQL / XML - PullRequest
       17

LINQ to SQL / XML

0 голосов
/ 03 февраля 2011

Мне нужно проанализировать некоторый XML, который может стать довольно большим, корневой узел может содержать 1000 непосредственных дочерних узлов, и каждый дочерний узел также может быть довольно большим.В настоящее время XML находится в файле, и я успешно использую LINQ to XML для чтения в память и проверки по моей схеме, по одному дочернему элементу под корнем за раз.Одна из наших целей - НЕ читать весь файл сразу в память.

Другое требование - делать то же самое, но на этот раз XML будет храниться в виде столбца типа CLOB или XML в Oracle.База данных 11g.Я знаю, что LINQ to SQL не работает с Oracle.

У меня такой вопрос: если бы XML хранился в столбце BLOB или NTEXT в базе данных SQL Server 2008, смог бы я запросить / прочитатьв XML один элемент за один раз, как я делаю сейчас из файла?Если это возможно, то, возможно, я найду способ сделать то же самое с базой данных Oracle 11g.

Спасибо

1 Ответ

1 голос
/ 03 февраля 2011

Если вы переместите свои вещи в SQL Server 2008, обязательно используйте XML в качестве типа данных, если это возможно. Благодаря этому вы можете выполнять определенные операции XML (XQuery) непосредственно в базе данных.

(N)TEXT устарела с 2005 года - не используйте его больше!

Используйте (N)VARCHAR(MAX) вместо (или XML)

Или посмотрите предложение DevArt LinqConnect , которое также поддерживает «Linq-to-SQL» для Oracle («Linq-to-Oracle»: -)

...