【问题标题】:Fluent Nhibernate HasMany on non primary keyFluent Nhibernate HasMany 在非主键上
【发布时间】:2013-05-08 09:54:58
【问题描述】:
**Table Order**
Id (PK)
NonUniqueId

**Table OrderLine**
Id (PK)
OrderNonUniqueId
Text

我有一个旧数据库,其中 OrderLine 通过非主键引用 Order。一个订单行可能属于多个订单。

如何在 HasMany 上映射?

**OrderMap**
HasMany(x => x.OrderLines)
      .KeyColumn("OrderNonUniqueId")

(由于它使用主键 Order.Id 将不起作用)

【问题讨论】:

    标签: nhibernate fluent


    【解决方案1】:

    您是否尝试过使用PropertyRef

    public OrderMap()
    {
      ...
      Map(x => x.NonUniqueId);
      HasMany<OrderLine>(x => x.Lines)
        .KeyColumn("OrderNonUniqueId")
        .PropertyRef("NonUniqueId");
      ...
    }
    

    似乎额外的Map 是必要的,否则流畅的nhibernate 会抱怨。如果您在 hbm.xml 文件中映射一对多,则不需要 NonUniqueId 的额外属性映射。

    【讨论】:

      猜你喜欢
      • 2011-02-27
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2012-10-19
      • 1970-01-01
      • 2011-12-20
      • 2011-04-15
      相关资源
      最近更新 更多