Пример #1
0
        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();
        }