Im Rahmen eines OCF basierten Projektes brauchten wir die Möglichkeit komplexe Sql Abfragen abbilden zu können. Eine QueryBuilder musste her, dabei sollte die Anwendung aber möglichst einfach sein.

Auf der Codeproject Seite “SelectQueryBuilder: Building complex and flexible SQL queries/commands from C#” findet sich eine sehr gute Implementierung.

Damit lassen sich so nette Sachen wie Join Bildung und dgl. ganz einfach umsetzen:

SelectQueryBuilder query = new SelectQueryBuilder();
query.SelectFromTable("Orders");

query.AddJoin(JoinType.InnerJoin,
              "Customers", "CustomerID",
              Comparison.Equals,
              "Orders", "CustomerID");

query.AddWhere("Customers.City",
      Comparison.Equals, "London");

Die leicht abgeänderte Version des SelectQueryBuilders ist jetzt Teil der OCF assembly Ocf.Common.