private IList <TEntity> GetItems(IUnitOfWork uow)
        {
            var query = uow.Session.QueryOver <TEntity>();

            if (FixedRestriction != null)
            {
                query.Where(FixedRestriction);
            }

            var filtration = QueryFilter?.GetFilter();

            if (filtration != null)
            {
                query.Where(filtration);
            }

            foreach (var order in Orders)
            {
                if (order.IsDesc)
                {
                    query = query.OrderBy(order.orderExpr).Desc;
                }
                else
                {
                    query = query.OrderBy(order.orderExpr).Asc;
                }
            }

            return(query.List());
        }
示例#2
0
        public Query <TSource> Where(IQueryFilter <TSource> filterQuery)
        {
            var predicate = filterQuery.GetFilter();

            return(Where(predicate));
        }