我有一个带有以下属性的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出错了吗?
提前致谢,
纳迪亚
答案 0 :(得分:1)
查看:NHibernate - Mapping a String Foreign Key
您需要将其定义为:
<bag name=”Inventory” table=”INVENTORY” lazy=”true”>
<key column=”ID” property-ref=”OID” />
<one-to-many class=”GuitarStore.Common.Inventory” />
</bag>
这也是最初但是在nhibernate https://nhibernate.jira.com/browse/NH-1272中,它在2.1.0 Alpha1中修复。