使用Many To Many集合保存额外信息

时间:2010-11-26 15:26:52

标签: c# nhibernate fluent-nhibernate

我正在尝试为以下问题构建映射。 案例可以有多个客户端,客户端可以附加到多个案例。

我有这些映射: 情况下

 Map(x => x.CaseNumber);
        References(x => x.Status).Cascade.All();
        HasManyToMany<Client>(x => x.Clients)
        .Table("CaseToClient")
        .Access.CamelCaseField(Prefix.Underscore)
        .Cascade.SaveUpdate()
        .LazyLoad();

现在我的CaseToClient表由Case_Id和Client_Id组成我想要的是表中的另一列,其中客户端的boolen与案例相关。如何添加列以便我可以编写属性?

1 个答案:

答案 0 :(得分:5)

不要使用多对多,使用两个一对多映射。

为ClientCase创建一个单独的实体,它引用Case和Client,并且还有你的boolean属性。

来自NHibernate In Action,第193页:

  

“我们避免使用多对多   协会,因为几乎   总是必须有其他信息   附在之间的联系   相关实例;最好的方式   代表这些信息是通过   中级协会班。“