1

次のプロパティを持つ nhibernate xml クラス (class1 と呼ばれる) があります。

<many-to-one name="Rank" class="RankColourScheme" column="Rank_" 
property-ref="Rank" not-null="true" fetch="join"/>

列 Rank_ は主キー列ではありません。

nhibernate を使用して SQL スクリプトを生成し、テーブルを作成すると、SQL 行は次のようになります。

alter table dbo.Class1_  add constraint FK_Rank foreign key (Rank_) 
references dbo.RankColourScheme_

制約が列を参照していないため、この行は失敗します。

実際の sql は次のようになります。

alter table dbo.Class1_  add constraint FK_Rank foreign key (Rank_) 
references dbo.RankColourScheme_ (Rank_)

私のxmlで何が間違っているのか分かりますか?

前もって感謝します、

ナディア

4

1 に答える 1

1

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

次のように定義する必要があります。

<bag name=”Inventory” table=”INVENTORY” lazy=”true”&gt;
 <key column=”ID” property-ref=”OID” />
 <one-to-many class=”GuitarStore.Common.Inventory” />
 </bag>

これも当初は nhibernate https://nhibernate.jira.com/browse/NH-1272でしたが、2.1.0Alpha1で修正されました。

于 2013-03-21T02:41:19.210 に答える