情况如下: 我在数据库中拥有一个名为“Entidade”的表,还有一个表“Medico”。表“Medico”是表中的连接子类实体,如下所示:
<joined-subclass name="Medico" table="Medico">
<key column="SEQ_ENTIDADE"/>
<property name="DSC_CRM"/>
<property name="DSC_ESPECIALIDADE"/>
<property name="FLG_SEXO"/>
</joined-subclass>
用户应该能够在“Medico”上使用已经注册为“Turn it”的“Entidade”。当我尝试保存扩展“Entidade”类的对象“Medico”时,使用相同的ID“Entidade”保存了以下错误:
violation of PRIMARY or UNIQUE KEY constraint "PK_ENTIDADE" on table "ENTIDADE"
我的班级“Medico”:
public class Medico : Entidade
{
public virtual string DSC_CRM { get; set; }
public virtual string DSC_ESPECIALIDADE { get; set; }
public virtual Sexo FLG_SEXO { get; set; }
}
有可能进行“转型”吗?
如果您需要其他任何东西来了解情况,请询问。
答案 0 :(得分:1)
我认为不应该在你的情况下使用子类。这不是nHibernate的问题,而是类和继承的问题。
如果您的实例具有可以随时间添加或删除的其他属性,则不会对模型使用继承,而是使用聚合。然后你加入的子类问题将成为一个参考问题(或HasMany),你很好。
此致 迈克尔