Я не думаю, что вы можете иметь list
по обе стороны от many-to-many
. list
может быть только одна сторона - другая сторона должна быть bag
или set
. Рассмотрим следующие данные в таблице ProductCategory:
Category_id Product_id Index
=========== ========== =====
1 3 0
1 4 1
2 3 0
2 4 1
Если вы получаете доступ к Category.CategoryProducts
, все хорошо. Категория № 1 имеет два продукта: первый продукт № 3, а второй № 4.
Однако, если вы попытаетесь получить доступ к Product.ProductCategory
, этот же столбец Index
также нельзя будет использовать для этого списка. Наши данные говорят, что Продукт № 3 имеет две категории: # 1 и # 2 - но обе из них хотят быть первой категорией в списке с Index = 0
. Продукт № 4 также имеет две категории, но ни одна из них не хочет быть первой категорией в списке, потому что они обе имеют Index = 1
.
Значения индекса в списке должны быть последовательными, начиная с нуля. Я не думаю, что это возможно сделать для двух списков, управляемых одной и той же таблицей.