NHibernate:关系表中与字段的多对多关系

时间:2010-04-26 12:18:01

标签: nhibernate many-to-many

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

2 个答案:

答案 0 :(得分:4)

使关系成为一个实体:

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

纯多对多关系没有任何其他属性。

答案 1 :(得分:4)

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

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

所以,我最好的猜测是,如果你们关系中间的东西需要更多的列而不仅仅是两个外键,那么你们并没有真正的多对多关系。你有两个多对一的关系,你还没有确定中间的东西。