I've played a bit with NHibernate, and it looks promising. I think once you get over the initial learning curve, things go pretty smoothly. You'll probably want to look into one of the code generation tools (CodeSmith or MyGeneration) out there and make up your own templates.