У меня есть приложение с несколькими объектами и различными отношениями между ними. Однако что-то не так с моими отношениями один-ко-многим, и я не могу понять, что именно. Когда я пытаюсь перейти от «одной» стороны отношения ко «многим», я получаю «незаконный доступ к загрузке коллекции». Это происходит для всех отношений «один ко многим» в моем приложении.
Например, у Клиента много Счетов
Из Customer.hbm.xml:
<bag name="Accounts" mutable="true" inverse="true" cascade="save-update">
<key>
<column name="Customer_Id" />
</key>
<one-to-many class="Account" />
</bag>
Из Account.hbm.xml:
<many-to-one class="Customer" name="Customer" not-null="true">
<column name="Customer_Id" />
</many-to-one>
В коде, если я скажу:
var accounts = customer.Accounts.AsEnumerable();0);
Я получаю «незаконный доступ к загрузке коллекции».
Аналогично, в аккаунте есть много платежных данных:
Из Account.hbm.xml:
<bag name="BillingDetails" mutable="true" inverse="true" cascade="save-update">
<key>
<column name="Account_Id" />
</key>
<one-to-many class="BillingDetail" />
</bag>
Из BillingDetails.hbm.xml:
<many-to-one class="Account" name="Account" not-null="true">
<column name="Account_Id" />
</many-to-one>
Я не могу понять, почему учетные записи клиентов не загружаются лениво, когда я пытаюсь получить к ним доступ. Аналогичным образом, данные счета Аккаунтов не загружаются, когда я пытаюсь получить к ним доступ. Предполагается, что это самый простой тип отношений в NHibernate, и я не могу понять это правильно. У меня тонна отношений многие-ко-многим, не видя этой проблемы.