Beispiel #1
0
        protected virtual IQueryable <T> GetQueryable(Expression <Func <T, bool> > filter = null,
                                                      Func <IQueryable <T>, IOrderedQueryable <T> > orderBy = null,
                                                      Expression <Func <T, object> > include = null,
                                                      int?skip = null,
                                                      int?take = null)
        {
            IQueryable <T> query = context.Set <T>();

            if (filter != null)
            {
                query = query.Where(filter);
            }
            if (include != null)
            {
                query = query.Include(include);
            }
            if (orderBy != null)
            {
                query = orderBy(query);
            }
            if (skip.HasValue)
            {
                query = query.Skip(skip.Value);
            }
            if (take.HasValue)
            {
                query = query.Take(take.Value);
            }
            return(query);
        }