An idea for a new dOOdads template could be to enter a query as input to the template, create a view, get the schema info, generate the object, and then drop the view. Just an idea for the future - but believe it or not, if you can use views, they are much better than inline sql. When you use a view, you may or may not get some performance improvement, but you keep the queries in the database. Many similar queries used in the app could be combined into one view and one dOOdads object. There is no downside to using views opposed to inline SQL. Another cool thing is that if you change the view or a table used in the view and then regenerate the dOOdad code, you will get a bunch of compile errors for any removed or changed columns that were referenced in your app. If you use inline SQL you will have all runtime errors. You will love the way that a strongly typed DAL protects you from runtime errors due to schema changes.