子类在继承映射中不能具有标识列

时间:2013-09-21 05:16:23

标签: database nhibernate inheritance orm telerik-open-access

我正在使用Telerik ORM的ORM工具和Devexpress ORM数据模型向导设计数据库。 我有两个班,一个员工和一个人班。 employee类继承自作为基类的person类。 两个ORM都坚持要求人员类必须具有足够公平的标识列/密钥。 但我希望员工类也也有一个标识列,但是要继承ORM不允许的person类的atttributes。这也包括nHibernate。 任何有想法如何解决这个问题的人?

1 个答案:

答案 0 :(得分:0)

继承是一种“是一种”关系;员工是一个人,所以员工的身份证是一个人的身份。如果您按照Rippo建议使用每个具体类映射表,则Employee表应该具有PersonId的主键,该主键也是Person表的外键。

我还会考虑使用角色而不是继承来建模这种关系。