Disons que j'ai une table qui a une colonne de données de type XML. Au sein de SQL, je peux exécuter l'instruction suivante:Utiliser XQuery dans Linq To SQL?
select top 10 *,
Content.value('(/root/item/value)[1]', 'float') as Value
from xmltabletest
where Content.value('(/root/item/MessageType)[1]', 'int') = 1
Le jeu de résultats contient uniquement les enregistrements correspondant aux critères, et il extrait une valeur à partir du XML dans une colonne appelée « valeur ». Nice et simple.
Est-ce que la même chose peut être réalisée avec Linq To SQL? Je voudrais que SQL fasse le gros du travail et ne renvoie que des données correspondant à mes critères plutôt que de devoir sélectionner, transférer et ensuite traiter un gros morceau de données. Autant que je sache, ce n'est pas possible en ce moment, mais j'ai pensé que je devrais demander.
(L'environnement est .NET 3.5, VS2008, SQL Server 2005 si cela aide)
J'ai rencontré les mêmes problèmes et j'ai dû le faire en utilisant procs stocké ou en exécutant des requêtes xquery à travers le datacontext –
En fait, nous allons utiliser la méthode de contexte de données. Ça craint, mais ça fait le travail et nous n'avons qu'une seule entité avec une colonne XML. Devrait être facile à garder propre et organisé. –