0

Ситуация такова: У меня есть таблица под названием «Entidade» в базе данных и таблица «Медико». В таблице «Medico» является присоединился к подклассу объект в таблице, как показано ниже:Связанный объект Nhibernate уже сохранен в базе данных с новым элементом в объединенном подклассе

<joined-subclass name="Medico" table="Medico"> 
    <key column="SEQ_ENTIDADE"/> 
    <property name="DSC_CRM"/> 
    <property name="DSC_ESPECIALIDADE"/> 
    <property name="FLG_SEXO"/> 
</joined-subclass> 

пользователь должен иметь возможность использовать «Entidade» уже зарегистрирован на «Включите его» на «Medico». Когда я пытаюсь сохранить объект «Medico», который расширяет класс «Entidade» с тем же идентификатором «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; } 
} 

Есть возможность сделать это «Трансформация»?

Если вам нужно что-нибудь еще, чтобы понять ситуацию, просто спросите.

ответ

1

Я думаю, что подкласс не должен использоваться в вашем случае. Речь идет не о nHibernate, а о классах и наследовании.

Если у вас есть дополнительные свойства для вашего экземпляра, которые могут быть добавлены или удалены с течением времени, я бы не использовал наследование для вашей модели, кроме агрегации. И тогда ваша объединенная проблема подкласса станет справочной проблемой (или HasMany), и вы в порядке.

С уважением, Michael