NHibernate Multiquery para una carga ansiosa sin combinaciones

¿Es posible usar una consulta múltiple y tener dos consultas hql que devuelven dos conjuntos diferentes de entidades donde uno de los conjuntos se usa en el otro y que la sesión "arregla" esto a través del caché de primer nivel?

P.ej. escenario (uno tonto y podría resolverse con uniones)

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

public class Booking
{
  ...
}

Después de ejecutar un multicriterio con dos hql:

volviendo todas las habitaciones donde IsAvailible = truevolviendo todas las reservas que tienen una habitación que tiene una habitación que está disponible

al acceder a una sala desde el resultado y sus reservas, quiero que se resuelvan desde el segundo conjunto de resultados a través defirstlevel cache de la sesión y allí evitando n + 1.

Respuestas a la pregunta(2)

Su respuesta a la pregunta