public override void SetRangeInHash(string key, IEnumerable<KeyValuePair<string, string>> keyValuePairs) { key.ThrowIfNull("key"); keyValuePairs.ThrowIfNull("keyValuePairs"); var id = Repository.GetId(typeof(RavenHash), key); var result = _session.Load<RavenHash>(id); // Not exists? Insert if (result == null) { result = new RavenHash() { Id = id }; _session.Store(result); } foreach (var keyValuePair in keyValuePairs) { result.Fields[keyValuePair.Key] = keyValuePair.Value; } }
public override void SetRangeInHash(string key, IEnumerable<KeyValuePair<string, string>> keyValuePairs) { key.ThrowIfNull("key"); keyValuePairs.ThrowIfNull("keyValuePairs"); using (var repository = _storage.Repository.OpenSession()) { var id = Repository.GetId(typeof(RavenHash), key); var result = repository.Load<RavenHash>(id); if (result == null) { result = new RavenHash() { Id = id }; repository.Store(result); } foreach (var keyValuePair in keyValuePairs) { result.Fields[keyValuePair.Key] = keyValuePair.Value; } repository.SaveChanges(); } }