Je dois sélectionner des lignes de la table de base de données en utilisant le filtrage par colonne de type xml.Filtrage des enregistrements de base de données par contenu de colonne xml en utilisant linq-to-sql et xlinq
Tableressemble (version courte)
id
dbfield int
xmlfield xml
et je suis le filtrage de cette manière
IQueryable<Data.entity> q = from u in datacontex.entities
select u;
if (val1.HasValue)
q = q.Where(x => x.dbfield > val1.value)
if (val2.HasValue)
q = q.Where(x=> x.dbfield < val2.value)
if (!string.IsNullOrEmpty(searchString))
q = q.Where (x=> x.xmlfield contains values from searchString)
XML dans XMLField est très simple, il ressemble
<doc>
<item id="no">test/WZ/2009/04/02</item>
<item id="title">blabla</item>
...
La question est de savoir comment ajouter WHERE condition dans linq et de préférence cette contition devrait traduire à ms-sql requête, w sans traiter le jeu de données sur l'application webservice.
Merci.
merci pour l'idée. – tomo