With the DataSetToolkit you can interact dynamically with your application datasource without ever writing a single SQL query. The DataSetToolkit includes a unique command generator which inspects your DataSet to generate dynamic select queries. You can customize any query via included WhereConstraint objects, or extend the object model to create your own. With the DataSetToolkit you also no longer need to maintain a DataAdapter for every table, but can use the MultiTableDataAdapter to fill or update any table in your DataSet. You choose the DBMS provider, and the DataSetToolkit does the rest.