Nehmen wir an, ich habe eine Tabelle, die eine Spalte mit Daten vom Typ XML enthält. In SQL kann ich die folgende Anweisung ausführen:
select top 10 *,
Content.value('(/root/item/value)[1]', 'float') as Value
from xmltabletest
where Content.value('(/root/item/MessageType)[1]', 'int') = 1
Die Ergebnismenge enthält nur die Datensätze, die den Kriterien entsprechen, und extrahiert einen Wert aus der XML-Datei in eine Spalte mit der Bezeichnung "Wert". Schön und einfach.
Kann das Gleiche mit Linq To SQL erreicht werden?
Ich möchte, dass SQL die schwere Arbeit übernimmt und nur Daten zurückgibt, die meinen Kriterien entsprechen, anstatt einen potenziell riesigen Datenbestand auszuwählen, zu übertragen und dann zu verarbeiten. Soweit ich sagen kann, ist dies nicht möglich, im Moment, aber ich dachte, ich sollte fragen.
(Die Umgebung ist .NET 3.5, VS2008, SQL Server 2005, falls das hilft)