【问题标题】:NHibernate 2.0 mapping a composite-id inside a composite-idNHibernate 2.0 在复合 ID 内映射复合 ID
【发布时间】: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


    【解决方案1】:

    从来没有用过,但我会这样说:

    <many-to-one ...>
      <column name="key1" />
      <column name="key2" />
    </many-to-one>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-13
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      相关资源
      最近更新 更多