Там просто наличие пользовательского DefaultSaveEventListener
подкласса , не содержащего переопределенного или расширенного поведения , достаточно, чтобы вызвать это странное исключение для меня при сбросе или совершении транзакции, используя следующую конфигурацию Xml:
<event type="save-update">
<listener class="MyNamespace.MyCustomSaveEventListener, MyAssembly" />
</event>
Если я закомментирую вышесказанное, он работает нормально.Но, как я уже сказал, это происходит, даже если не определено поведение переопределенного или расширенного прослушивателя событий.Мне известно, что эти <event>
элементы, по-видимому, не являются аддитивными к конфигурации NHibernate по умолчанию, поэтому все, что настроено в этом элементе, заменяет все остальное, отсюда и обычная практика получения из реализаций по умолчанию.
Исключение возникает в классе NHibernate.Event.Default.DefaultSaveOrUpdateEventListener
в методе ReassociateIfUninitializedProxy
.Это происходит даже при том, что зарегистрирован только этот слушатель и все другие перехваты / расширения удалены из заводской конфигурации.
У кого-нибудь есть идеи по этому поводу?Мне нужно реализовать некоторое расширенное поведение, используя этот интерфейс слушателя.Поймать исключение и выбросить его, похоже, не повредит, но каким должно быть возвращаемое значение?