public static PredicateSet <T> Instance(Expression <Func <T, bool> > where)
        {
            var pSet = new PredicateSet <T>();

            pSet.Where = where;
            return(pSet);
        }
        public static PredicateSet <T> Instance(Expression <Func <T, bool> > where, string orderField, OrderType Sortmode, int skip, int take)
        {
            var pSet = new PredicateSet <T>();

            pSet.Where = where;
            pSet.SetOrder(orderField, Sortmode.ToString());
            pSet.Skip = skip;
            pSet.Take = take;
            return(pSet);
        }
        public static PredicateSet <T> Instance <TType>(Expression <Func <T, bool> > where, Expression <Func <T, TType> > orderField, OrderType sortMode, int skip, int take)
        {
            var pSet = new PredicateSet <T>();

            pSet.Where = where;
            pSet.SetOrder <TType>(orderField, sortMode);
            pSet.Skip = skip;
            pSet.Take = take;
            return(pSet);
        }