Generators are great until you modify the generated code, and then you are stuck maintaining it. I, of course, recommend Diamond Binding[^] for an end-to-end ORM solution. We plug into VS, and are probably the fastest to get off the ground with. (Check the example section) Subsonic use a build provider approach which is quite reasonable. Subsonic also provides some UI framework, which is either a blessing or a curse, depending on how you feel about separation of concerns. NHibernate is great, but difficult to use. Diamond Binding uses NHibernate to do the heavy lifting behind the scenes. But avoid code-generators like the plague, they tend to give you a very inflexible model, which can be difficult to extend.
Mark Churchill Director Dunn & Churchill Free Download:
Diamond Binding: The simple, powerful, reliable, and effective data layer toolkit for Visual Studio.