У меня есть существующая таблица RoleType с данными. Я пытаюсь сопоставить эту таблицу в NHibernate, используя Таблица для иерархии классов :
<class name="IRoleType" table="RoleType">
<id name="Id" column="RoleID">
<generator class="native" />
</id>
<discriminator column="RoleID" />
<property name="Description" column="Description" />
<!-- ... more properties ... -->
<subclass name="RoleA" discriminator-value="1" />
<subclass name="RoleB" discriminator-value="4" />
<subclass name="RoleC" discriminator-value="7" />
</class>
Здесь IRoleType - это интерфейс с реализациями RoleA , RoleB и RoleC . Это работает. Но вот проблема -
Таблица содержит строки с «дополнительными» значениями дискриминатора (2,3,5,6), которые не сопоставлены с постоянным классом. Эти значения устарели в домене, поэтому создавать постоянные классы для каждого из них бесполезно. Но мы также не можем удалить их из базы данных.
Есть ли способ отобразить эти дополнительные строки в один класс "по умолчанию"? Если нет, то как еще я могу решить эту проблему?
Спасибо!