On my latest project, I needed to come up with a Business and Data layer(s) with the following requirements: 1) They wanted to use a code generation tool to automatically generate the classes whenever the database (which was still under development) changed 2) The business objects would basically mirror the database tables 3) I had a couple of days to deliver. Michael Eaton suggested using Castle Active Record (which uses NHibernate). I found some Active Record templates for CodeSmith, and within ......