Мы хотели бы отобразить одну таблицу на два класса с помощью NHibernate. Отображение должно быть динамическим в зависимости от значения столбца.
Вот простой пример, чтобы прояснить ситуацию:
У нас есть таблица Person с столбцами id, Name и Sex.
Данные из этой таблицы должны отображаться либо в классе Male, либо в классе Female, в зависимости от значения столбца Sex.
В псевдокоде:
create instance of Male with data from table Person where Person.Sex = 'm';
create instance of Female with data from table Person where Person.Sex = 'f';
Преимущество заключается в том, что у нас есть строго типизированные доменные модели, и мы можем впоследствии избегать операторов переключения.
Возможно ли это с NHibernate или мы должны сначала отобразить таблицу Person в плоский класс Person? Затем мы должны будем использовать метод фабрики, который принимает плоский экземпляр Person и возвращает экземпляр типа Female или Male.
Было бы хорошо, если бы NHibernate (или другая библиотека) мог справиться с этим.