BTW, this is the Expression Debug string from the NHibernate.Linq.DefaultQueryProvider call:
.Call System.Linq.Queryable.Take(\r\n
.Call System.Linq.Queryable.Skip(\r\n
.Call System.Linq.Queryable.OrderBy(\r\n
.Constant<NHibernate.Linq.NhQueryable`1[SolutionExample.Domain.Principal]>(NHibernate.Linq.NhQueryable`1[SolutionExample.Domain.Principal]),\r\n
'(.Lambda #Lambda1<System.Func`2[SolutionExample.Domain.Principal,System.String]>)),\r\n
0),\r\n
25)\r\n
\r\n
.Lambda #Lambda1<System.Func`2[SolutionExample.Domain.Principal,System.String]>(SolutionExample.Domain.Principal $o) {\r\n
.Call ($o.PrincipalName).ToLower()\r\n