NHibernate предназначен для объекта реляционных картографов. Похоже, вы делаете больше в стиле сценариев и надеетесь отобразить свои данные вместо того, чтобы работать в режиме ООП.
Звучит так, будто у вас есть замыслы иерархии классов. То, что звучит , как будто вы пытаетесь создать в своем коде (и затем соответственно отобразить), представляет собой иерархию разных типов детей:
BaseChild
-> SmartChild
-> DumbChild
Каждый дочерний элемент является либо умным, либо немым, но, поскольку у них всех есть FirstName, LastName, Age и т. Д., Они все являются экземплярами класса BaseChild, который определяет их. Единственные различия могут заключаться в том, что у SmartChild есть IQ, а у DumbChild - FavoriteFootballTeam (это всего лишь пример, конечно, никому не обидно;).
NHibernate позволит вам отображать такие отношения во многих отношениях. Может быть одна таблица, которая охватывает все классы или (как это звучит, как вы хотите в вашем случае), по одной таблице на класс.
Я понял проблему / что вы ищете?