【问题标题】:NHibernate - Mapping a collection of components?NHibernate - 映射组件的集合?
【发布时间】:2009-06-13 02:50:32
【问题描述】:

我有以下数据库表

CREATE TABLE ProductPrice
  ProductID
  Qty1
  Price1
  Qty2
  Price2
  Qty3
  Price3

我的域类看起来像这样

Class ProductPrice
  ProductID As Integer
  PriceBands As IList(of PriceBand)
End Class

Class PriceBand
  Qty As Integer
  Price As Decimal
End Class

我知道我们可以使用“组件”映射将单行映射到不同的对象,但是否可以如上所述映射对象集合?

非常感谢

詹姆斯

【问题讨论】:

  • 您是否有理由不希望使用映射到正确表的真实集合?这将是推荐的解决方案。
  • 恐怕这是一张旧表,所以我坚持使用它。我显然不会这样设计 :)

标签: nhibernate nhibernate-mapping


【解决方案1】:

如果可以,请将您的数据库规范化为两个表 - 产品和产品价格(每行包含产品 ID、数量和该数量的价格范围,它们就像 3 对列一样)。然后您将轻松地将它们映射为 NHibernate 中的集合(包)以匹配您的应用程序模型类。

【讨论】:

    【解决方案2】:

    我认为在字段名称末尾看到 1、2、3 通常是数据库设计不佳的标志,所以如果 NH 支持这一点,我会感到有点惊讶。

    【讨论】:

    • 正如我上面所说,我无法更改表格设计。有没有办法进行手动映射?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多