Я был бы удивлен, если бы это было возможно, напрямую.
Вам больше всего нужно будет сделать один из двух обходных путей:
- извлекает XML из поля SQL Server в виде строки и помещает его в XDocument (Linq-to-XML) или XmlDocument (обработка на основе DOM) и выполняет свои трюки с ним
или
- обрабатывает запросы на самом SQL Server, используя SQL Server XQuery, и возвращает результаты в виде строк, целых чисел и т. Д. - все, что вам нужно сделать
Лично я бы предпочел опцию обработки содержимого XQuery на самом сервере - для того, чтобы помочь вам с вашей конкретной проблемой, вам нужно будет предоставить пример XML и объяснение того, что вы хотите сделать ... .
Обновление: для вашего требования, в SQL Server XQuery вам нужно написать что-то вроде:
var q = from c в Изменениях
где c.Content.XPathSelectElement ("OpsNotes"). Value.Length> = 2000;
выберите c;
SELECT (list of fields)
FROM dbo.Changes c
WHERE c.Content.value('(string-length(string((/Content/OpsNotes)[1])))', 'int') >= 2000
или что-то в этом роде.
В качестве дополнительного бонуса в этом случае вам нужно будет только перенести меньшее количество строк обратно с сервера на ваше клиентское приложение, поскольку сервер уже отфильтровывает все несовпадающие строки.