Отображения NHibernate один-ко-многим / много-к-одному - PullRequest
1 голос
/ 16 апреля 2011

У меня есть приложение с несколькими объектами и различными отношениями между ними. Однако что-то не так с моими отношениями один-ко-многим, и я не могу понять, что именно. Когда я пытаюсь перейти от «одной» стороны отношения ко «многим», я получаю «незаконный доступ к загрузке коллекции». Это происходит для всех отношений «один ко многим» в моем приложении.

Например, у Клиента много Счетов

Из 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, и я не могу понять это правильно. У меня тонна отношений многие-ко-многим, не видя этой проблемы.

...