2009-02-08 6 views
1

J'ai réussi à faire fonctionner le composant MSFT Dynamic Linq, mais maintenant je dois créer une clause "Where" qui inclut un attribut.Requête LINQ dynamique utilisant un attribut

L'erreur que je reçois est "Aucune méthode globale applicable 'First' existe"

Voici mon code:

where = "Element(XName.Get(\"procedure\")).Attributes(XName.Get(\"code\")).First() = \"28002\""; 

var q2 = doc.Elements().Descendants("vocabularybody").AsQueryable().Where(where); 

if (q2 != null && q2.Count() > 0) 
foundItems.Add(item); 

ici est mon XML

<vocabulary> 
<vocabularyheader> 
<vocabularyid>5</vocabularyid> 
<vocabularyname>Scheduled Procedure</vocabularyname> 
</vocabularyheader> 
<vocabularybody> 
<procedure code="28002" type="Surgery"/> 
</vocabularybody> 
</gazoontvocabulary> 

Répondre

1

Je ne suis pas encore familier avec la bibliothèque Dynamic LINQ mais vous ne devriez pas avoir besoin de l'opérateur d'égalité (==) et pas l'opérateur d'affectation (=) pour la clause where?

Questions connexes