R – Order by collection count using ICriteria & NHibernate

icriterianhibernate

Using the standard NHibernate example of Cats and Kittens, how would I use ICriteria to sort Cats based on Kitten count? For example, I want to do something like:

ICriteria crit = Session.CreateCriteria(typeof(Cat));
return crit.Order(Order.Asc("**Kittens.Count**"));

Anyone know how to achieve this?

Best Answer

In HQL you can do it like this:

select cat
from Eg.Cat cat
join cat.Kittens kitten
group by cat
order by count(kitten) asc
Related Topic