I have never been a big fan of code generation tools. They are either to complicated to be of any use, they tend not to scale very well, or they become to unmanageable. That is until I went to work for an organization that was using a freely available code generation tool named MyGeneration. Then I find out the company I worked for employs Mike Griffin, one of the creators of the tool. Mike and the team set out to create a very cool Persistence Layer and Business Objects for Microsoft .NET called Entity Spaces or ES. ES is not free, but at 149.00USD, you cannot beat it. You use ES together with MyGeneration. The results are a very LINQish experience. Oh yeah it does work with LINQ!!
I must say that I was quite impressed with the scalability, ease of use, and the speed . What I really like and I believe is one of the reasons that it works so well is that it works on native .NET data types, not strongly typed objects, so I get to return SQL Readers, DataTables, Datasets, etc..
If you are looking for a jumpstart on your software projects, I suggest you seriously look at this tool. Mike has also created a very quick video walk though to get you going. I just used it on a new project and was able to use the tool without any customization. I was able to generate a DAL/BOL in minutes and it works fantastic. If you find the same successes that I and many others have found, please blog about them or drop Mike a line directly.