DetachedCriteria.For<A>()
.Add(Restrictions.Gt("ANumber", 6))
.CreateCriteria("Bs")
.Add(Restrictions.Lt("BNumber", 5))
.List<A>();
Update: having an Or from different subqueries
DetachedCriteria.For<A>()
.Add(Restrictions.Gt("ANumber", 6))
.CreateAlias("Bs", "b")
.CreateAlias("Cs", "c")
.Add(Restrictions.Or(
Restrictions.Lt("b.Number", 5),
Restrictions.Lt("c.Number", 5))
.List<A>();