J'essaie d'implémenter une recherche par mot-clé très basique dans une application en utilisant linq-to-sql. Mes termes de recherche sont dans un tableau de chaînes de caractères, chaque élément du tableau étant un mot, et je voudrais trouver les lignes qui contiennent les termes de recherche. Je veux trouver les lignes qui contiennent les termes recherchés. Je me fiche qu'elles contiennent plus que les termes recherchés (ce sera très probablement le cas), mais tous les termes recherchés doivent être présents.
Idéalement, je voudrais quelque chose de similaire au snippet ci-dessous, mais je sais que cela ne fonctionnera pas. J'ai également consulté cette question ici mais l'auteur de cette question semble se contenter de faire les choses dans l'autre sens ( query.Contains(part.partName)
), ce qui ne fonctionne pas pour moi.
public IQueryable<Part> SearchForParts(string[] query)
{
return from part in db.Parts
where part.partName.Contains(query)
select part;
}
Comment puis-je réécrire cette requête pour qu'elle fasse ce dont j'ai besoin ?