Ejemplo n.º 1
0
        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));
            }
        }