Я использую сопоставление на основе соглашений NHibernate и пытаюсь понять, как отобразить многоуровневую структуру наследования
Если у меня следующая структура класса
class ClassA
class ClassB : ClassA
class ClassC : ClassB
и я хочу, чтобы все три класса представляли одну таблицу - "ClassC" в базе данных
в моей конфигурации я определил ClassA как RootEntity
(как описано здесь: http://fabiomaulo.blogspot.co.nz/2011/04/nhibernate-32-mapping-by-code_13.html)
public static void WithConventions(this ConventionModelMapper mapper, Configuration configuration)
{
var baseEntityType = typeof(ClassA);
mapper.IsRootEntity((type, declared) => baseEntityType.Equals(type.BaseType));
...
}
результирующая схема затем создает отдельные таблицы для ClassB и ClassC, которые содержат поля, определенные в ClassA