I know that NHibernate works well for projects where you are starting with a fresh database and building from the ground up. In my experience, however, that is not usually the case for enterprise applications. More often than not, integrating of legacy data from other databases is a major part of a new app.
Is NHibernate going to be more trouble than it is worth as an ORM when you are going to be dealing with legacy database structures over which you have no control?
I know that arguments for building data services and loose coupling, and that will come in time. But, for now, if I have to use data from 15 tables in two different existing databases in addition to storing my own data for the app, is using NHibernate (or, more broadly, any type of model-driven ORM tool) going to drive me crazy?