使用多对多集合保存额外信息
我正在尝试为以下问题构建映射。 一个案例可以有多个客户端,一个客户端可以附加到多个案例。
我有这些映射: 案例
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 组成,我想要的是表中的另一列,其中包含与案例相关的客户布尔值。如何添加列以便我可以写入属性?
I am trying to build a mapping for the following problem.
A Case can have multiple clients and a client can be attached to multiple Cases.
i have these mappings :
Case
Map(x => x.CaseNumber);
References(x => x.Status).Cascade.All();
HasManyToMany<Client>(x => x.Clients)
.Table("CaseToClient")
.Access.CamelCaseField(Prefix.Underscore)
.Cascade.SaveUpdate()
.LazyLoad();
Now my CaseToClient Table consists of Case_Id and Client_Id what i want is another column in the table with in it a boolen of the client is relevant for the case. How can i add the column so that i can write the property?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要使用多对多,使用两个一对多映射。
为 ClientCase 创建一个单独的实体,它引用 Case 和 Client,并且还具有您的布尔属性。
来自 NHibernate 实践,第 193 页:
Don't use many to many, use two one-to-many mappings.
Create a separate entity for ClientCase, which references both Case and Client and also has your boolean property.
From NHibernate In Action, page 193: