nHibernate, сопоставление двух свойств в одном классе - PullRequest
4 голосов
/ 27 июня 2011

У меня есть Mailclass, где я хочу сохранить отправителя и получателя как ссылку на класс User;

    public class dbMail : Entity
{
    public virtual int ThreadID { get; set; }
    public virtual dbUser From { get; set; }
    public virtual dbUser To { get; set; }
    public virtual DateTime MailDate { get; set; }
    public virtual string MailText { get; set; }
    public virtual bool IsRead { get; set; }
}

и отображение:

<id name="ID">
  <generator class="identity" />
</id>
<property name="ThreadID" />

<many-to-one name="From" class="dbUser" column="From"/>
<many-to-one name="To" class="dbUser" column="To"/>
<property name="MailDate" />
<property name="MailText" type="StringClob">
  <column name="MailText" sql-type="text" />
</property>
<property name="IsRead" />

Однако при попытке обновить базу данных возникает эта ошибка:

Duplicate property mapping of dbUser found in Domain.Model.dbMail

1 Ответ

2 голосов
/ 27 июня 2011

У меня такая же ситуация с отображением, и она работает.Единственное отличие:

<many-to-one cascade="all" ...

Попробуйте это решение, но если это не сработает, вы должны показать код обновления и / или код dbUser и отображение для дальнейшего изучения.

...