如何使用Castle ActiveRecord将表记录映射到任何类型

时间:2010-06-21 06:33:42

标签: c# asp.net-mvc activerecord castle-activerecord

我知道可以创建Any关系,其中相关记录可以是任何类型。

有没有办法告诉ActiveRecord即使没有关系,表中的记录也属于许多不同的类型?例如,我有一个表,其中有一个字符串字段,用于存储表中每条记录的类型。我希望ActiveRecord识别每条记录的类型,然后在查询该表时实例化正确的类型。

有人可以说这是否可能?

1 个答案:

答案 0 :(得分:1)

有三种方法可以做到这一点。每种方法都适合这三种情况:

Single Table Inheritance使用带有鉴别器列的单个表来确定每行包含的类型。

Class Table Inheritance涉及为每个类使用不同的表,其中“base”表定义了主键,其他表“继承”它。

Concrete Table Inheritance是映射类层次结构的第三种方法,每个具体类都有自己的数据库表。

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