I personally use Fluent NHibernate and it does what I need for you. Almost. There is something like having to manually specify ManyToMany, but you cannot avoid it. And if you want good entities to be developed, you have to make some members private, which disables automation for these members. However, I changed my design in LOT and did not even think about how my database changed (the luxury of a new project, but ...).
Have you looked at Castle ActiveRecord? You really need real POCOs, or you can live with and attributes. Save entities? Well, I would avoid this, but it might work for you.
source
share