My preference is to use NHibernate + Fluent NHibernate. There is a pretty steep learning curve, but the functionality, maturity, and community support is second to none. The important thing to keep in mind when using an ORM is that to get value out of it you should really be using a presentation pattern that separates business objects from presentation/view logic (Model-View-Controller, Model-View-Presenter, Supervising Controller, etc...). Given a separation of concerns using an ORM in a web application shouldn't give you any more grief than using an ORM in a desktop application. For NHibernate you'll have to keep the session factory in ASP session state, but there are articles on the internet available to help you out with this.
P
Philip Brockmeyer
@Philip Brockmeyer