La meilleure façon de construire des requêtes sql en C#/.NET3.5?

Un projet sur lequel je travaille en ce moment implique de refactoring a C# de l'Objet Com qui sert comme une base de données de la couche d'accès à certaines bases de données Sql 2005.

L'auteur du code existant a construit toutes les requêtes sql manuellement à l'aide d'une ficelle et beaucoup de si-états pour construire le assez complexe instruction sql (~10 jointures, >10 sous sélectionne, ~15-25 où les conditions de travail et de Groupe). La table de base est toujours la même, mais la structure de jointures, les conditions et les groupements dépendent d'un ensemble de paramètres qui sont passés dans ma classe/méthode.

De la construction de la requête sql comme ceci fonctionne, mais il n'est évidemment pas très élégante, une solution (et plutôt difficile à lire/comprendre et à maintenir ainsi)... je pourrais juste écrire un simple "querybuilder" moi-même mais je suis assez sûr que je ne suis pas le premier, avec ce genre de problème, d'où mes questions:

  • Comment vous construire vos requêtes de base de données?
  • Ne C# offre un moyen facile de créer dynamiquement des requêtes?

OriginalL'auteur Ben | 2008-09-15