找到了对集合的共享引用

时间:2010-08-21 08:57:01

标签: nhibernate fluent-nhibernate

我有一个包含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可以使用这种模式吗?实现这一目标的最佳方法是什么?

由于

菲尔

1 个答案:

答案 0 :(得分:3)

我已经解决了这个问题,我有一个通用功能,它设置所有产品集合并创建循环引用。