Azavea.Open.DAO.SQL.SqlDaLayer.GetCount C# (CSharp) Method

GetCount() public method

public GetCount ( ITransaction transaction, ClassMapping mapping, DaoCriteria crit, ICollection groupExpressions ) : List
transaction ITransaction
mapping ClassMapping
crit Azavea.Open.DAO.Criteria.DaoCriteria
groupExpressions ICollection
return List
        public override List<GroupCountResult> GetCount(ITransaction transaction,
            ClassMapping mapping, DaoCriteria crit,
            ICollection<AbstractGroupExpression> groupExpressions)
        {
            SqlDaQuery query = _sqlQueryCache.Get();

            query.Sql.Append("SELECT COUNT(*) ");
            if (_connDesc.NeedAsForColumnAliases())
            {
                query.Sql.Append("AS ");
            }
            query.Sql.Append(_connDesc.ColumnAliasPrefix()).
                Append(COUNT_COL_ALIAS).Append(_connDesc.ColumnAliasSuffix());
            GroupBysToStartOfQuery(query, groupExpressions, mapping);
            query.Sql.Append(" FROM ");
            query.Sql.Append(mapping.Table);
            ExpressionsToQuery(query, crit, mapping);
            GroupBysToEndOfQuery(query, groupExpressions, mapping);
            OrdersToQuery(query, crit, mapping);
            Hashtable parameters = DbCaches.Hashtables.Get();

            parameters["groupBys"] = groupExpressions;
            parameters["mapping"] = mapping;
            SqlConnectionUtilities.XSafeQuery(_connDesc, (SqlTransaction)transaction,
                query.Sql.ToString(), query.Params, ReadGroupByCount, parameters);
            List<GroupCountResult> retVal = (List<GroupCountResult>) parameters["results"];

            DisposeOfQuery(query);
            DbCaches.Hashtables.Return(parameters);
            return retVal;
        }

Same methods

SqlDaLayer::GetCount ( ITransaction transaction, ClassMapping mapping, DaoCriteria crit ) : int