public void Add(KeyValuePair <TKey, TValue> item) { if (Contains(item)) { throw new System.ArgumentException("An item with same key added"); } var document = new DictionaryDocument <TKey, TValue> { Id = DicId, Key = item.Key, Values = item.Value }; _service.Collection.InsertOne(document); }
public void Add(TKey key, TValue value) { if (ContainsKey(key)) { throw new System.ArgumentException("An item with same key added"); } var document = new DictionaryDocument <TKey, TValue> { Id = DicId, Key = key, Values = value }; _service.Collection.InsertOne(document); _service.Collection.Indexes.CreateOne(Builders <DictionaryDocument <TKey, TValue> > .IndexKeys.Ascending(_ => _.Key)); }
public TValue this[TKey key] { get { var filter = GetFilters(key); var data = _service.Collection.Find(filter).Single(); return(data.Values); } set { var filter = GetFilters(key); var document = new DictionaryDocument <TKey, TValue> { Id = DicId, Key = key, Values = value }; var data = _service.Collection.FindOneAndReplace(filter, document); } }