Nhibernate mapping Ilist с составным элементом

63
9

Я пытаюсь работать с DDD-стилем для своего приложения электронной коммерции. Большая часть моей бизнес-логики реализована с использованием поддельных репозиториев. Теперь я хотел бы использовать NHibernate для привязки моей модели домена к реальной базе данных.


У меня есть класс Order, который содержит список объектов OrderLines


public IList<OrderLine> OrderLines{ ... } //line 1

В моем классе OrderLine я имею ссылку на родительский порядок следующим образом


2. public Order Order { set; get;} // line 2

По моему мнению, OrderLine - это класс Value вместо класса Entity, поэтому я буду использовать составной элемент для отображения.


    <bag name="OrderLines" table="OrderLines" lazy="true">
<key column="Order_ID"/> <!--This is where I got confused. line 3-->
<composite-element class="OrderLine">
<!-- class attribute required -->
<many-to-one name="Order" class="Order" column="Order_ID"/> <!--Do I need this? line 4-->
...
</composite-element>
</bag>

Обратите внимание, что в строке 3 я создал ключевой элемент для сопоставления (для этого требуется синтаксис). Но так как я определил ссылку на класс Order в моем классе OrderLine (строка 2), мне также нужно создать отображение в строке 4?

спросил(а) 2021-01-25T13:29:56+03:00 4 месяца, 2 недели назад
1
Решение
108

Вам не нужна строка # 4.

Вы можете найти отличное объяснение по этому вопросу в другом потоке в stackoverflow здесь: Nhibernate, коллекции и composid

ответил(а) 2021-01-25T13:29:56+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема