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)); }