2010-01-21 2 views
0

J'ai une table dans une base de données SQL, où la configuration de la table correspond àBase de données SQL avec des champs XML, sélectionnez selon XElement LINQ

ID 
Name string 
data xml 

où la zone de données peut (mais pas nécessairement) contiennent un élément descendant

<config>Some value...</config> 

LINQ Je veux sélectionner toutes les lignes qui a un élément XML de données qui contient l'élément de configuration avec une valeur de ... dire 17.

Mon un pproach a été quelque chose comme:

var query = from x in db 
      from y in x.data.descendants("config") 
      where y.Value == "17" 
      select x; 

Mais cela crée une exception à propos de la valeur n'étant pas valide.

Comment formuler cette requête?

Cordialement, Casper

+0

duplication possible de [Peut LINQ à SQL interroger un champ XML DB-côté serveur?] (Http: //stackoverflow.com/questions/282391/can-linq-to-sql-query-an-xml-field-db-serverside) – podiluska

Répondre

1

Je suis assez sûr que Linq 2 SQL ne supporte pas ce que vous essayez de faire. Vous auriez probablement besoin d'écrire une instruction SQL personnalisée ou utiliser une fonction définie par l'utilisateur comme discuté dans la solution à cette question SO: Can LINQ to SQL query an XML field DB-serverside?

Questions connexes