.JoinAlias ​​(x => x.Prop, () => propAlias, JoinType.LeftOuterJoin)

ли использовать мультизапрос и иметь два hql-запроса, возвращающие два разных набора сущностей, где один из наборов используется в другом, и что сессия «исправляет» это через кеш первого уровня?

Например. сценарий (тупой и может быть решен с помощью объединений)

public class Room
{
  ...
  public virtual ISet<Bookings> Bookings {get;set;}
  public virtual bool IsAvailible {get;set;}
  ...
}

public class Booking
{
  ...
}

После выполнения многокритериального с двумя hql:

возвращая все комнаты, где IsAvailible = trueвозврат всех бронирований, имеющих комнату, в которой есть комната, доступная IsAvailible

при доступе к комнате из результата и его бронирований я хочу, чтобы они были разрешены из второго набора результатов черезкэш первого уровня сеанса и там, избегая n + 1.

Ответы на вопрос(2)

Ваш ответ на вопрос