Фон
У нас есть несколько проектов / приложений, работающих на одной модели.Все они имеют свои уникальные сущности / таблицы, но также имеют одну общую сущность / таблицу.Т.е. сущности, требуемые приложением A, никогда не потребуются приложением B, за исключением общей таблицы, и наоборот.Теперь общая таблица имеет отношения к таблицам приложения A, а также к таблицам приложения B.При загрузке большого количества HBM дела идут довольно медленно, поэтому мы внедрили систему, которая загружает только HBM, требуемые приложением, которое запущено в данный момент.
Проблема
В приложении A, когда мы теперь обращаемся к общей таблице / сущности, например:
session.Linq<CommonEntity> ().Where (...);
Мы получаем следующее исключение
NHibernate.MappingException: Ассоциация ссылается на не отображенный класс: (сущность приложения B)
Я надеялся, что NHibernate сломается, только если мы явно попытаемся получить доступ к таблицам приложения B через отношения из общей сущности, и что в результате он не сломается, потому что мыникогда не делайте этого из приложения A. Но, увы.
Вопрос
Есть ли способ настроить NHibernate, чтобы отложить проверку сопоставления отношений до тех пор, пока к нему нет доступа?
Мы используем ленивую загрузку.