public IQueryCriteria <T> Where(Expression <Func <T, bool> > filter)
        {
            var query = new CriterionBuilder <T>();

            var where = query.Where(filter);

            _whereString = query.Translate(where);

            return(this);
        }
        private IQueryCriteria <T> OrderBy(Expression <Func <T, object> > orderBy, OrderByType type)
        {
            var query = new CriterionBuilder <T>();
            var order = query.Order(orderBy);

            _orderByString = query.Translate(order);

            _orderByType = type;

            return(this);
        }