【问题标题】:NHibernate: Many-to-many relationship with field in the relationship tableNHibernate:与关系表中的字段的多对多关系
【发布时间】:2010-04-26 12:18:00
【问题描述】:

我在挠头;我有一个具有多对多关系的 Car 表和 Customer 表。在这个关系表中,我想添加一个可以告诉我这是什么关系的列;是客户试驾汽车,他想买车吗,等等。我想要结束的是一个类 Car 对象,它包含一个客户集合关系信息。我可能会以错误的方式看待这个问题,所以请随时将我推向正确的方向。

【问题讨论】:

  • 我们回答您的问题了吗?如果没有,我们可以了解更多细节吗?

标签: nhibernate many-to-many


【解决方案1】:

使关系成为一个实体:

class CarRelation
{
  Car Car {get; set; }
  RelationType Type {get; set;}
}

纯多对多关系没有任何附加属性。

【讨论】:

  • 您的陈述“纯多对多关系没有任何附加属性”帮助我克服了今天的心理障碍 - 谢谢!
【解决方案2】:

我认为您缺少一个额外的实体。您需要添加一个实体来表达客户对汽车的兴趣。您需要找到适合您业务领域的正确名称,但这是我的猜测:

您有 CUSTOMER 表来存储有关特定客户的信息。 CUSTOMER 与 CUSTOMERINTEREST 表具有一对多的关系。 CUSTOMERINTEREST 存储有关客户参与的购物活动类型(试驾、橱窗购物等)的信息。 CUSTOMERINTEREST 与 CAR 表具有多对一的关系。 CAR 将有关特定汽车的信息存储在商店的库存中。

所以,我最好的猜测是,如果你的关系中间的东西需要更多的列而不仅仅是两个外键,那么你实际上并没有多对多的关系。您有两个多对一关系,只是尚未确定中间的事物。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多