问题
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?
回答1:
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
回答2:
See http://forum.hibernate.org/viewtopic.php?p=2401219
It's Java Hibernate but almost the same thing (Projection, AddOrder)
来源:https://stackoverflow.com/questions/604572/order-by-collection-count-using-icriteria-nhibernate