public long Count2(object parameters) { var builder = Builder; var countBuilder = new SqlSelectBuilder { Source = builder.Source, Dialect = builder.Dialect, WhereClause = builder.WhereClause, GroupByClause = builder.GroupByClause, OrderByClause = builder.OrderByClause, LimitClause = builder.LimitClause, Clauses = builder.Clauses, }; foreach (var jc in builder.JoinClauses) { countBuilder.JoinClauses.Add(jc); } countBuilder.ResultColumns.Add("count(1)"); var connection = Connection; if (connection != null) { return(connection.ExecuteScalar2 <long>(countBuilder.ToString() + ";", parameters: parameters)); } else { return(Datastore.ExecuteScalar2 <long>(countBuilder.ToString() + ";", parameters: parameters)); } }