Я лично использую Fluent NHibernate, и он делает для меня то, что вам нужно. Ну, почти. Есть такая вещь, как необходимость вручную указать ManyToMany, но вы не можете избежать этого. И если вы хотите создать хороший объект, вы должны сделать некоторые элементы приватными, что отключает автоматическое сопоставление этих элементов. Тем не менее, я изменил свой дизайн LOT и даже не думал о том, как изменилась моя БД (роскошь нового проекта, но ...).
Вы смотрели на Замок ActiveRecord? Вам действительно нужны настоящие POCO, или вы можете жить с атрибутами и .Save на объектах? Ну, я бы этого избежал, но это может сработать для вас.