Asp.net mvc 3 Nhibernate关联实体已与联接子类中的新项一起保存在数据库中

Asp.net mvc 3 Nhibernate关联实体已与联接子类中的新项一起保存在数据库中,asp.net-mvc-3,nhibernate,nhibernate-mapping,joined-subclass,Asp.net Mvc 3,Nhibernate,Nhibernate Mapping,Joined Subclass,情况如下: 我在数据库中拥有一个名为“Entidade”的表和一个名为“Medico”的表。表“Medico”是表中的一个连接子类实体,如下所示: <joined-subclass name="Medico" table="Medico"> <key column="SEQ_ENTIDADE"/> <property name="DSC_CRM"/> <property name="DSC_ESPECIALIDADE"/> <

情况如下: 我在数据库中拥有一个名为“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>
我的班级是“医生”:

是否有可能进行这种“转变”


如果您还需要其他东西来理解这种情况,请询问。

我认为不应该在您的案例中使用子类。这不是nHibernate的问题,而是类和继承的问题

如果您的实例有其他属性可以随时间添加或删除,我不会对您的模型使用继承,而是使用聚合。然后你的连接子类问题会变成一个参考问题(或者有很多),你就没事了

问候,, 迈克尔

violation of PRIMARY or UNIQUE KEY constraint "PK_ENTIDADE" on table "ENTIDADE"
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; }
}