У меня есть объект продукта, который содержит 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 дает мне ошибку Found общих ссылок на коллекцию, потому что есть два списка продуктов.
Этот шаблон можно использовать nHibernate? Каков наилучший способ достичь этого?
Благодаря
Phil
Есть ли какая-то причина, по которой вы * нуждаетесь * использовать одну и ту же таблицу соединений для обеих коллекций? Моя первая мысль заключалась бы в использовании двух отдельных. – DanP
Ну, вы могли бы использовать 2 соединения, но весь смысл таблицы - создать одну запись для аксессуаров и потребителей –