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 回答