2009-07-08 9 views
2

Imaginez une application interne destinée à l'utilisateur très technique. L'application maintient les données. Il n'y a pas diable d'une charge de données, mais il y en a assez pour rendre une sorte de mécanisme de requête nécessaire.Comment autoriser l'utilisateur à interroger arbitrairement des collections IEnumerable?

L'interface utilisateur de l'application est très simple. Il permet essentiellement à l'utilisateur d'entrer une requête (sous forme de texte) et affiche les données correspondant à cette requête. Si le back-end de l'application était une base de données SQL, l'utilisateur pouvait simplement taper le corps de la clause WHERE. L'application ne serait pas particulièrement conviviale, mais ce serait acceptable pour cette tâche.

Cependant, les données ne se trouvent pas dans une base de données. Il est accessible par l'intermédiaire d'un IEnumerable<>.

Existe-t-il un moyen raisonnablement facile d'obtenir des fonctionnalités similaires sans écrire un parseur complet pour un langage de requête inventé? Idéalement sous la forme d'une bibliothèque libre, qui fournit quelque chose comme la méthode LINQ .Where<>, sauf que la méthode prend la requête textuelle entrée par l'utilisateur?

Répondre

Questions connexes