【发布时间】:2010-09-22 05:42:41
【问题描述】:
我有一个 table1 TAS:
<class name="TAS" table="NCPTB016_TAS">
<composite-id>
<key-many-to-one column="NU_MACRO_PROCESSO_007" name="MacroProcesso"/>
<key-property column="NU_TAS" name="Id" />
</composite-id>
... //and some other properties
我有一张桌子:
<class name="STAS" table="NCPTB017_STAS">
<composite-id>
<key-many-to-one column="NU_MACRO_PROCESSO_016" name="MacroProcesso"/>
<key-many-to-one column="NU_TAS_016" name="TAS" />
<key-property column="NU_STAS" name="Id" />
</composite-id>
... //some properties
表STAS 是一个复合ID。它是一个 TAS 密钥(即复合 ID)和另一个密钥。 我该如何映射? 当我按照我正在做的方式做时,我得到了一个错误:
外键 (FK451D68E632669A4:NCPTB017_STAS [NU_TAS_016])) 的列数必须与引用的主键 (NCPTB016_TAS [NU_MACRO_PROCESSO_007, NU_TAS]) 具有相同的列数
为了更简单, 我如何映射具有复合 ID 的多对一???
例如: Table1 有一个复合 ID Id1 和 Id2 Table2 具有来自 table1 的多对一,因为它具有来自 table1 的 Id1 和 Id2 的复合 FK...
感谢您的帮助!
【问题讨论】:
标签: c# .net nhibernate