我有一个包含2个集合,附件和消费者的产品对象。消费者涉及一种配件,即消费它的产品清单。在数据库中,我有这些集合的多对多关系,它们被实现为链接表Product_Accessory。在映射中,我为配件创建了多种方式,为消费者创建了另一种方式:
mapping.HasManyToMany<oProduct>(x => x.Accessories)
.Table("Product_Accessory")
.Cascade.SaveUpdate()
.ParentKeyColumn("ProductId")
.ChildKeyColumn("AccessoryId")
.AsBag();
mapping.HasManyToMany<oProduct>(x => x.Consumers)
.Table("Product_Accessory")
.Cascade.SaveUpdate()
.ParentKeyColumn("AccessoryId")
.ChildKeyColumn("ProductId")
.AsBag();
这一切似乎都很合乎逻辑,但是nHibernate给了我一个找到共享引用的错误,因为有两个产品列表。
使用nHibernate可以使用这种模式吗?实现这一目标的最佳方法是什么?
由于
菲尔
答案 0 :(得分:3)
我已经解决了这个问题,我有一个通用功能,它设置所有产品集合并创建循环引用。