public void UpdateRecordStats() { // Save off max item identifier by Type in separate table. // Create the resolver first. var resolver = GetItemRecordResolver(); // Declare types that we will create a record for. var types = new[] { "job", "story", "comment", "poll", "pollopt" }; foreach (var type in types) { var filter = TableQuery.GenerateFilterCondition("Type", QueryComparisons.Equal, type); var query = new TableQuery(); query.FilterString = filter; var getAllTask = _adapter.GetAll(_tableName, query, resolver); getAllTask.Wait(); var itemRecordsForType = getAllTask.Result; if (itemRecordsForType.Any()) { var minMaxRecord = new MinMaxItemRecord() { PartitionKey = type, RowKey = "0", MinItemId = itemRecordsForType.Min(i => Convert.ToInt32(i.RowKey)), MaxItemId = itemRecordsForType.Max(i => Convert.ToInt32(i.RowKey)), SnapShotRecordCount = Convert.ToInt32(itemRecordsForType.Count) }; _adapter.Save(minMaxRecord, _minMaxRecordTableName, minMaxRecord.PartitionKey, minMaxRecord.RowKey); } } }