Я хочу объединить стратегии «таблица на класс» и «таблица на иерархию», используя беглый nhibernate или сам nhibernate (я имею в виду файлы hbm), но я не знаю как. Я предпочитаю беглость, а не hbm, но если это невозможно, то hbm тоже подойдет. Я проверил это, представив Entity как ClassMap и все остальные как SubClassMap в свободном доступе, но затем в hbm-файлах, созданных свободно, Entity был классом, а все остальные были объединенными классами, а это не то, что я хочу. Я опишу проблему более подробно ниже.
Иерархия классов:
public class Entity
{
public int ID { get; set; }
public string Name { get; set; }
}
public abstract class Person : Entity
{
public string Phone { get; set; }
}
public class SystemUser : Person
{
public string Password { get; set; }
}
Я хочу иметь одну таблицу для сущности и одну для персоны и всех ее видов (всех ее подклассов). Я имею в виду, что я хочу использовать стратегию «таблица-на-класс» для сущности и стратегию «таблица-на-иерархию» для персоны и Классы SystemUser. Структура базы данных выглядит примерно так:
EntityTable(ID(PK),Name)
PersonTable(EntityID(PK,FK),Phone,Password)
любая помощь приветствуется.