BuiltSql <TResult> Select <TResult>(string columns, bool distinct) { var text = "select "; if (distinct) { text += "distinct "; } text += columns; _sb.Insert(0, text); if (_cteTemplate != null) { var tmpl = _cteTemplate.GetTemplate(_writer.Parameters); var cte = _provider.BuidCommonTableExpression(tmpl, _provider.EscapeTableName(_info.Table)); _sb.Insert(0, cte); } return(new BuiltSql <TResult>(_sb.ToString(), _writer.Parameters.ToArray(), _options)); }