コード例 #1
0
        public TResult ExecuteScalar <TResult>(QueryModel queryModel)
        {
            VisitQueryModel(queryModel);
            foreach (var resultOperator in queryModel.ResultOperators)
            {
                if (resultOperator is CountResultOperator || resultOperator is LongCountResultOperator)
                {
                    int itemCount = 0;
                    _manager.ProcessItems(SpView, true, false, (items) =>
                    {
                        itemCount += items.Count;
                    });

                    return((TResult)Convert.ChangeType(itemCount, typeof(TResult)));
                }
            }
            return(ExecuteSingle <TResult>(queryModel, false));
        }