Как сопоставить записи таблицы любому типу с помощью Castle ActiveRecord - PullRequest
1 голос
/ 21 июня 2010

Я знаю, что возможно создать Any отношения, в которых связанная запись может быть любого типа.

Есть ли способ сказать ActiveRecord, что записи в таблице принадлежат многим различным типам, даже когда естьнет отношений?Например, у меня есть таблица, в которой есть строковое поле, в котором хранится тип каждой записи в таблице.Я бы хотел, чтобы ActiveRecord распознавал тип каждой записи и впоследствии создавал экземпляр правильного типа при запросе этой таблицы.

Кто-нибудь может сказать, возможно ли это?

1 Ответ

1 голос
/ 21 июня 2010

Есть три способа сделать это. Каждый метод предназначен для удовлетворения каждой из этих трех ситуаций:

Single Table Inheritance использует одну таблицу со столбцом дискриминатора, чтобы определить, какой тип содержит каждая строка.

Class Table Inheritance включает использование разных таблиц для каждого класса, где «базовая» таблица определяет первичный ключ, а другие «наследуют» его.

Concrete Table Inheritance - это третий способ сопоставления иерархии классов, каждый конкретный класс имеет свою собственную таблицу базы данных.

http://www.castleproject.org/activerecord/documentation/v1rc1/usersguide/typehierarchy.html

...