public IEnumerator <KeyValuePair <string, object> > GetEnumerator(object value) { if (value is IDictionary <TKey, TValue> dictionary) { return(YieldEnumerator(dictionary)); } return(EmptyDictionary.GetEnumerator()); }
private static async Task <int> InsertValues(ICloudTable table, string partition, int x = 20, int y = 100) { foreach (var i in Enumerable.Range(1, x)) { var operation = table.PrepareBatchOperation(); foreach (var j in Enumerable.Range(1, y)) { operation.Insert(partition, i + ":" + j, EmptyDictionary.Get <string, object>()); } await operation.ExecuteAsync(); } return(x * y); }
public virtual async Task <IReadOnlyDictionary <Sha1, IChasmBlob> > ReadObjectBatchAsync(IEnumerable <Sha1> objectIds, ChasmRequestContext requestContext = default, CancellationToken cancellationToken = default) { if (objectIds == null) { return(EmptyDictionary.Empty <Sha1, IChasmBlob>()); } requestContext = ChasmRequestContext.Ensure(requestContext); // Enumerate var dict = new Dictionary <Sha1, Task <IChasmBlob> >(Sha1Comparer.Default); foreach (Sha1 objectId in objectIds) { dict[objectId] = ReadObjectAsync(objectId, requestContext, cancellationToken); } // Await await Task.WhenAll(dict.Values) .ConfigureAwait(false); // Return var dict2 = new Dictionary <Sha1, IChasmBlob>(Sha1Comparer.Default); foreach (KeyValuePair <Sha1, Task <IChasmBlob> > task in dict) { if (task.Value == null || task.Value.Result == null) { continue; } dict2[task.Key] = task.Value.Result; } return(dict2); }
public static EmptyDictionary<TKey, TValue> Dictionary<TKey, TValue>() => EmptyDictionary<TKey, TValue>.Singleton();
public static void InsertOrReplace(this IBatchOperation batchOperation, string partitionKey) { Require.NotNull(batchOperation, "batchOperation"); batchOperation.InsertOrReplace(partitionKey, EmptyDictionary.Get <string, object>()); }
public static void Replace(this IBatchOperation batchOperation, string partitionKey, string rowKey, string etag) { Require.NotNull(batchOperation, "batchOperation"); batchOperation.Replace(partitionKey, rowKey, etag, EmptyDictionary.Get <string, object>()); }