We are working with legacy database where some tables have 8 part composite key and chief architect is suggesting that we create an extension tables with surrogate primary key for each one of the tables in the database, then create a view (SqlServer 2008) and then point NHibernate mapping to these views. Question is what are the pitfalls of this, and can NHibernate be used in this way and will lazy loading, dirty tracking etc. still work.