см. Подробное описание моих запросов N + 1 при выполнении критерия attribute.list с присоединением к другой присоединенной сущности.
Я совершенно не знаю, возможно, у кого-то возникнет идея.
это объекты: (правильно переименованы :))
Заказ -> Горшок <-> Крышка
ордер много-к-одному связан с Потом. (поэтому разные ордера могут указывать на один и тот же банк).
В таблице заказов есть поле «PotId» (с ключами из таблицы «Pot»).
Пот - один-к-одному, двунаправленно связан с Покрытием - одна сторона «один-к-одному», другая - «многие-к-одному».
На титульном столе есть поле «PotId» (с ключами из таблицы «Pot»).
Проблемы начинаются, когда я выполняю:
session.CreateCriteria (typeof (Order)). CreateAlias ("pot", "pot", JoinType.LeftOuterJoin) .List ();
то, что я получаю, это один запрос выборки заказов + поты, а затем N запросов выборки покрытия (по cover.PotId).
пытался настроить этот способ и другой, но безрезультатно.
Я думал, что это может быть связано с вопросом «не ленивая загрузка для однозначных ассоциаций»,
но я не могу обойти это.
есть идеи? будем рады предоставить больше информации.