NHibernate.Linq y MultiCriteria

¿Alguien sabe de una forma de agrupar consultas de NHibernate usando NHibernate.Linq como puede hacer con los objetos MultiCriteria e ICriteria?

Con MultiCriteria puedo crear algo como esto:

var crit = session.CreateMultiCriteria()
                  .Add(session.CreateCriteria(typeof(Entity1)).Add(Restrictions.Eq("Property1","Value"))
                  .Add(session.CreateCriteria(typeof(Entity2)).Add(Restrictions.Eq("Property2","Value2"));               

var result = crit.List();
var list1 = (IList)result[0];
var list2 = (IList)result[1];

Sería bueno si reemplazara las llamadas CreateCriteria con llamadas Linq y obtuviera algo como esto:

var crit = session.CreateMultiCriteria()
                .Add(session.Linq<Entity1>().Where(x => x.Property1 == "Value1")
                .Add(session.Linq<Entity2>().Where(x => x.Property2 == "Value2");

var result = crit.List();
var list1 = (IList<Entity1>)result[0];
var list2 = (IList<Entity2>)result[1];

Estamos utilizando la API de Linq para la mayoría de nuestras otras consultas y sería bueno usar la misma sintaxis de Linq cuando también necesitamos ejecutar consultas MultiCriteria.

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta