Вы можете использовать функцию имени объекта, если вы используете NHibernate v2.1 или выше. Это плохо документировано, но я активно использую эту функцию. Стало трудно найти документацию по нему, но посмотрите здесь:
Раздел 5.3 в
http://docs.jboss.org/hibernate/core/3.2/reference/en/html/mapping.html#mapping-entityname
Несколько вещей, о которых нужно знать. Теперь вы должны использовать имя объекта вместо имени класса для ссылки на объекты. В целом, это не совсем прозрачное изменение при переходе от имен классов к именам сущностей.
Для действий сеанса теперь требуются два параметра, например:
_session.Save ("MyEntity", myobject)
Имя объекта определяет, в какую таблицу попадают данные.
Некоторые запросы HQL больше не работают должным образом, иногда вместо них необходимо использовать критерии.
Если вам нужен набор примеров кода, я, возможно, смогу опубликовать его, но сейчас он слишком занят. Я предлагаю вам взглянуть на ограниченную информацию, которую вы можете найти, и настроить ее для очень простого объекта и нескольких таблиц, чтобы узнать, как все это работает. Это работает.