Создание полиморфного класса в Castle Project ActiveRecord - PullRequest
0 голосов
/ 19 февраля 2010

Я использую ActiveRecord для хранения своих классов в базе данных.

У меня есть иерархия классов, скажем, мужчина и женщина, унаследованные от класса Human. Таблица базы данных человека содержит поле Sex, которое равно 0 для мужчины и 1 для женщины. Я хотел бы иметь возможность загружать класс Human относительно поля Sex, то есть, если Sex равен 0, загрузка класса Human должна фактически создавать экземпляр класса Man (таким образом, считывая некоторые дополнительные поля из таблицы Man помимо полей из Human таблицу).

Возможно ли это с помощью атрибутов CastleProject ActiveRecord? Если нет, возможно ли сделать переопределение некоторых переопределяемых методов?

1 Ответ

1 голос
/ 19 февраля 2010

Вы говорите о Наследование в одной таблице

Столбец «Пол» в вашей таблице будет использоваться как дискриминатор, используемый NHibernate.

РЕДАКТИРОВАТЬ: если у вас есть дополнительные поля для человека, вы можете либо поместить их в одну большую таблицу или разделить их и использовать наследование таблицы классов (что означает JOIN всякий раз, когда вы выбираете объекты Men), так как он получает поля человека из стол человека и поля человека из стола человека.

...