public Task MergeAsync(string tableName, IEnumerable <Value> values) { EnsureArg.IsNotNullOrEmpty(tableName, nameof(tableName)); using (var tx = this.env.BeginTransaction()) using (var db = tx.OpenDatabase(tableName, new DatabaseConfiguration { Flags = DatabaseOpenFlags.Create })) { foreach (var value in values?.Where(v => v.Key != null)) { tx.Put(db, Encoding.UTF8.GetBytes($"{value.Key.PartitionKey}-{value.Key.RowKey}"), SerializationHelper.BsonByteSerialize(value), PutOptions.NoDuplicateData); } tx.Commit(); } return(Task.CompletedTask); }