public void can_create_session_query_for_select_all_over_object() { session.CreateQueryFor <Account>() .Select(SelectionOptions.FieldFrom <AccountTransaction>(t => t.Description), SelectionOptions.AvgOnFieldFrom <Account>(a => a.AccountNumber, "avg_accounts")) .LeftJoinOn <AccountTransaction>(t => t.Account.Id, a => a.Id) .CreateCriteria(Restrictions.CreateDisjunctionOn( Restrictions.EqualTo <Account>(a => a.Id, 1), Restrictions.GreaterThan <Account>(a => a.AccountNumber, "12344")), Restrictions.Like <Account>(a => a.Description, "completed")) .AddOrder(OrderOptions.Asc <Account>(a => a.Id)) .GroupBy(GroupByOptions.AliasField <Account>("avg_accounts"), GroupByOptions.FieldFrom <AccountTransaction>(t => t.Description)) .SingleOrDefault(); }