So, if you are using the ActiveRecord/NHibernate stack I highly recommend switching to query over. The syntax is cleaner and it's type-safe.
Here is an example of a criterion based query:
Here is an example of the same query in QueryOver:
Unlike the Linq language for Nhibernate QueryOver is just a translation layer for Criterion.