【问题标题】:nhibernate mapping Ilist with composite-element具有复合元素的休眠映射 Ilist
【发布时间】:2009-09-24 01:32:39
【问题描述】:

我一直在尝试为我的电子商务应用程序使用 DDD 风格。我的大部分业务逻辑都是使用假存储库实现的。现在,我想使用 NHibernate 将我的域模型连接到一个真实的数据库。

我有一个包含 OrderLines 对象列表的类 Order

public IList<OrderLine> OrderLines{ ... } //line 1

在我的 OrderLine 类中,我有一个对父 Order 的引用,如下所示

2. public Order Order { set; get;} // line 2

根据我的理解,OrderLine 是一个Value 类而不是一个Entity 类,所以我将使用composite-element 来做映射。

    <bag name="OrderLines" table="OrderLines" lazy="true">
        <key column="Order_ID"/> <!--This is where I got confused. line 3-->
        <composite-element class="OrderLine">
            <!-- class attribute required -->
            <many-to-one name="Order" class="Order" column="Order_ID"/> <!--Do I need this? line 4-->
            ...
        </composite-element>
    </bag>

请注意,在第 3 行中,我为映射创建了一个关键元素(语法要求这样做)。但是由于我在我的 OrderLine 类(第 2 行)中定义了对 Order 类的引用,我是否还需要在第 4 行创建一个映射?

【问题讨论】:

    标签: nhibernate nhibernate-mapping domain-driven-design


    【解决方案1】:

    你不需要第 4 行。

    您可以在此处的 stackoverflow 的另一个线程中找到关于该主题的精彩解释:Nhibernate , collections and compositeid

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2013-11-03
      • 1970-01-01
      • 2019-07-05
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多