2011-06-27 10 views
4

私はMailクラスを持っています。ここでは、送信者と受信者の両方をUserクラスへの参照として保存します。nHibernate、同じクラスに2つのプロパティをマッピングする

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 

答えて

2

私はあなたと同じマッピング状況をしましたそれは動作します。唯一の違いは、次のとおりです。

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

は、このソリューションを試してみてくださいしかし、これはあなたがさらに調査するため、更新コードおよび/またはdbUserのコードとのマッピングを表示する必要が働くいない場合。

+0

これは機能しました!迅速な答えをありがとう。 – rodael

+0

また、「To」および「From」という単語は予約されています。 – rodael

関連する問題