2010-08-31 5 views
0

J'essaye de modifier du code qui renvoie des résultats de la base de données. Actuellement, le code est le suivant, et correspond à tous les fonds ont un nom comme le terme de recherche. Le problème avec ceci est que c'est trop spécifique. Si le terme de recherche est «croissance des pensions», il ne renverra que les résultats ayant une «croissance des pensions» dans le nom. Je voudrais changer ceci pour retourner tous les fonds qui ont «pension» ou «croissance» dans le nom (ou n'importe quelle combinaison de termes de recherche que l'utilisateur pourrait inclure). Ce que je voudrais faire est de scinder le terme de recherche en ses composants et d'appliquer un opérateur SQL 'in' à la requête comme in ('pension', 'growth') ou quelque chose, de sorte qu'il retourne tout ce qui avait certains des termes, mais cela ne semble pas être une option.Comment filtrer les résultats d'une requête où le nom contient l'un des mots recherchés?

Quelqu'un pourrait-il suggérer une autre façon de procéder? Merci.

Répondre

1

Vous pouvez essayer d'utiliser la méthode Contains() sur une liste:

var myListOfWords = new List<string>{"pension","growth","42"}; 
var result = from funds in queryable 
      where myListOfWords.Contains(funds.Name) 
      select funds; 
Questions connexes