Допустим, у меня есть таблица со столбцом данных типа XML. В SQL я могу выполнить следующую инструкцию:
select top 10 *,
Content.value('(/root/item/value)[1]', 'float') as Value
from xmltabletest
where Content.value('(/root/item/MessageType)[1]', 'int') = 1
Результирующий набор содержит только записи, соответствующие критериям, и извлекает значение из XML в столбец с именем «Значение». Красиво и просто.
Можно ли добиться того же с помощью Linq To SQL?
Я бы хотел, чтобы SQL выполнял тяжелую работу и возвращал только данные, соответствующие моим критериям, а не отбирал, передавал и затем обрабатывал потенциально большой массив данных. Насколько я могу сказать, сейчас это невозможно, но я подумал, что должен спросить.
(Среда - .NET 3.5, VS2008, SQL Server 2005, если это помогает)