我正在尝试为以下问题构建映射。 案例可以有多个客户端,客户端可以附加到多个案例。
我有这些映射: 情况下
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与案例相关。如何添加列以便我可以编写属性?
答案 0 :(得分:5)
不要使用多对多,使用两个一对多映射。
为ClientCase创建一个单独的实体,它引用Case和Client,并且还有你的boolean属性。
来自NHibernate In Action,第193页:
“我们避免使用多对多 协会,因为几乎 总是必须有其他信息 附在之间的联系 相关实例;最好的方式 代表这些信息是通过 中级协会班。“