Я пытаюсь разработать свой самый первый проект с помощью Nhibernate 3.0.Я просмотрел множество материалов (блоги, документы и образцы), и я думаю, что могу понять основы, в значительной степени.
Я думаю, что я понял значение различных типов коллекций, но когда я вижу примерынайденный в Интернете, я думаю, что я действительно не понял.
Документация говорит, что вы должны использовать Set, если вы не хотите дублировать, и List / Bag, когда вы хотите разрешить дублирование.Большинство образцов, которые я нашел, основаны на типичной ситуации, когда у вас есть Order / OrderLines.Если я посмотрю файл отображения Ордена, то у меня получится что-то вроде этого:
<class name="OrderHeader"
table="Orders">
<id name="OrderId">
<generator class="hilo"/>
</id>
<property name="OrderDate"/>
<bag name="OrderItems" table="OrderDetails" cascade="all" inverse="true">
<key column="OrderId"/>
<one-to-many class="OrderDetail"/>
</bag>
</class>
<class name="OrderDetail"
table="OrderDetails">
<id name="DetailId">
<generator class="hilo"/>
</id>
<many-to-one name="ProductOrdered" column="ProductId"/>
<many-to-one name="Order" column="OrderId" />
</class>
Я ожидал увидеть OrderItems, сопоставленные как Set;заказ будет иметь уникальные элементы OrderItems?
Я прав?В то же время я ожидал бы найти сопоставление для класса Product bag of OrderItems
...
<bag lazy="true" name="OrderItems">
<key foreign-key="FK_OrderItems_Products">
<column name="ProductCode" />
</key>
.....
</bag>
...
В этой ситуации у продукта будет список неуникальных OrderItems.
Есть ли что-нибудьЯ скучаю?
Простите меня за глупый вопрос: -s