2009-04-10 4 views
0

J'utilise LINQ to XML. Je veux utiliser un équivalent de l'opérateur <> SQL dans la clause ci-dessous where ....LINQ à Xml différent de l'opérateur

var myBooks = from book in xDoc.Descendants("BOOKOB") 
       where book.Element("AUTHOR").Value 

S'il vous plaît aider!

Répondre

8

Est-ce que ça ne marche pas?

0

Vous devriez pouvoir utiliser! = Pour non égal et == pour égal à.

3

Comme d'autres l'ont dit, vous pouvez utiliser! = Parfaitement facilement - ne pas oublier que même lorsque vous utilisez LINQ, vous écrivez C#, pas SQL.

Vous devez fournir une valeur pour qu'il ne soit pas égal à, bien sûr, avec une clause select:

var myBooks = from book in xDoc.Descendants("BOOKOB") 
       where book.Element("AUTHOR").Value != "Jeff Atwood" 
       select book; 

Pour les requêtes simples comme celui-ci, je trouve habituellement « notation de point » plus simple à lire :

var myBooks = xDoc.Descendants("BOOKOB") 
        .Where(b => b.Element("AUTHOR").Value != "Jeff Atwood");