protected virtual void Select(TCriteria criteria)
        {
            var selects = SelectClauseManager.Get(criteria, GetTableName());

            foreach (var selectClause in selects)
            {
                Builder.Select(
                    selectClause.IsExpression
                        ? selectClause.Select
                        : string.Format("{0}.{1}", selectClause.Table, selectClause.Select));
            }
        }
        protected virtual void Select(TCriteria criteria)
        {
            var selects = SelectClauseManager.Get(criteria, GetTableName(), GetAlias());

            foreach (var selectClause in selects)
            {
                Builder.Select(
                    selectClause.IsExpression
                        ? selectClause.Select
                        : selectClause.Alias != null
                            ? $"{selectClause.Alias}.{selectClause.Select}"
                            : $"{selectClause.Table}.{selectClause.Select}");
            }
        }
 static QueryBuilder()
 {
     WhereClauseManager  = new WhereClauseManager(new WhereAttributeManager());
     JoinClauseManager   = new JoinClauseManager(new JoinClauseCreatorFactory());
     SelectClauseManager = new SelectClauseManager();
 }