фонNHibernate медленного запуск, условная загрузка ВСМБ и «Ассоциация ссылка некартированный класс»
У нас есть несколько проектов/приложений, работающих от той же модели. Все они имеют свои уникальные сущности/таблицы, но также разделяют 1 конкретную общую структуру/таблицу. I.e. Объекты, требуемые приложением A, никогда не потребуются приложением B, за исключением общей таблицы, и наоборот. Теперь общая таблица имеет отношения к таблицам приложений А, а также к таблицам приложений В. При загрузке большого количества HBM все происходит довольно медленно, поэтому мы внедрили систему, которая загружает только HBM, необходимые для текущего приложения.
Проблема
В приложении А, когда мы теперь доступ к поваренному/объекту, например:
session.Linq<CommonEntity>().Where (...);
Мы получаем следующее исключение
NHibernate.MappingException : Ссылка на ассоциацию не присвоен классу: (объект приложения B)
Я надеялся, что NHibernate только сломается, если мы явно попытаемся получить доступ к таблицам приложений B через отношения с общей сущностью, и в результате это не сломается, потому что мы никогда не делаем этого из приложения А. Но увы.
Вопрос
Есть ли способ настроить NHibernate отложить проверку отображения отношений до тех пор, пока не будет доступен?
Мы используем ленивую загрузку.
Да, я знаю, что конфигурация является одноразовой операцией, но надеялась, что частичная модель может быть отображена. Однако ваш советник по сериализации является ответом на нашу проблему. Я реализовал сериализацию, а предварительные тесты показывают, что SessionFactory теперь построена на 10-20% от первоначального времени. Thanx! –