title: Different mapping for the same database. NHibernate
body: <p>I'm using Fluent NHibernate.
  I have a few applications that use the same database (mainly the application itself, and configuration and reporting tools for it, that are separate .exe) They share the same mapping now, defined fluently in common .dll. The big difference between them is that they use some parts of the database very differently. There are some tables that are read-only for one tool, but read-and-write for another.
  I would like to ensure that the tool would never write data to the "wrong" table.</p>
  
  <p>My idea is to make each mapping for each tool a bit different. The general base of the mapping will be the same, but I could add extension methods that will check the name of the tool that is running the mapping configuration, and add several mapping specifications differently for each tool:</p>
  
  <ul>
  <li>I want some of the tables be .ReadOnly() (mutable="false") for some of the tools</li>
  <li>I want switch off/on cascades differently for each tool. </li>
  </ul>
  
  <p>But I am a bit unsure, whether I think right. Any pitfalls on that? Any better way of achieving this?</p>