0

自然キーを使用して2つのテーブル間の外部キー関係を定義したい...デフォルトでは、nhibernateはもう一方の列を主キーと見なしています...

Class A{
   public virtual int id {get; set;}
   public virtual int username {get; set;}
}

Class B{
   public virtual int id {get; set;}
   public virtual int username {get; set;}
}

クラスA(col:username)のクラスB(col:username)から外部キー関係を定義したい

ManyToOne<ClassA>( x=> x.ClassA, map => { map.Column("username"); };

Nhibenateは、ユーザー名からユーザー名ではなく、ユーザー名からIDで作成しています。どうすればこれを実現できますか?

ありがとう、マユール

4

1 に答える 1

1

リンクを見てください:NHibernate-文字列外部キーのマッピング

キーセクションでproperty-refタグを使用し、他のテーブルで一意の列の名前を指定する必要があります。

<bag name=”Inventory” table=”INVENTORY” lazy=”true”&gt;
 <key column=”ID” property-ref=”OID” />
 <one-to-many class=”GuitarStore.Common.Inventory” />
 </bag>
于 2013-03-17T09:17:19.800 に答える