在Castle Project ActiveRecord中创建的多态类

时间:2010-02-19 15:15:42

标签: activerecord castle-activerecord

我正在使用ActiveRecord将我的类存储在数据库中。

我有类层次结构,说它是继承自Human类的男人和女人。人类数据库表包含字段性别,男性为0,女性为1。我希望能够加载关于Sex字段的类Human,也就是说,如果Sex为0,类Human的加载应该实际创建类Man的实例(从而除了来自Human的字段之外从Man表中读取一些其他字段表)。

是否可以借助CastleProject ActiveRecord属性?如果没有,是否可以覆盖一些可覆盖的方法?

1 个答案:

答案 0 :(得分:1)

您在谈论Single Table Inheritance

表中的Sex列将作为NHibernate使用的判别器。

编辑:如果您有Man的其他字段,您可以将它们放在一个大表中或将它们拆分并使用类表继承(这意味着每当您获取Men对象时都是JOIN),因为它从中获取人员字段Man表中的Human表和Man字段。