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です)