【问题标题】:nhibernate foreign key relationship on between two natual key columns两个自然键列之间的休眠外键关系
【发布时间】:2013-03-18 01:36:14
【问题描述】:

我想使用自然键定义两个表之间的外键关系...默认情况下,nhibernate 将另一列视为主键...

Class A{
   public virtual int id {get; set;}
   public virtual int username {get; set;}
}

Class B{
   public virtual int id {get; set;}
   public virtual int username {get; set;}
}

我想在 A 类 (col:username) 上定义 B 类 (col: 用户名) 的外键关系

ManyToOne<ClassA>( x=> x.ClassA, map => { map.Column("username"); };

Nhibenate 是在用户名到 id 上创建它,而不是在用户名到用户名上创建它。我怎样才能做到这一点?

谢谢,马尤尔

【问题讨论】:

    标签: nhibernate fluent-nhibernate fluent-interface


    【解决方案1】:

    请看链接:NHibernate - Mapping a String Foreign Key

    您需要在key部分使用property-ref标签,并指定在其他表中唯一的列名。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      相关资源
      最近更新 更多