/// <summary> /// Ensures that an entry has a key. /// </summary> /// <param name="entry">The entry.</param> private void EnsureKey(ReadOnlyLazyEntryOfList <TKey, TValue> entry) { if (entry.HasKey) { return; } entry.Key = _serializationService.ToObject <TKey>(entry.KeyData); }
/// <summary> /// Adds entries. /// </summary> /// <param name="entries">Entries.</param> public void Add(IEnumerable <KeyValuePair <IData, IData> > entries) { foreach (var(keyData, valueObject) in entries) { if (!_entries.TryGetValue(keyData, out var entry)) { _entries.Add(keyData, entry = new ReadOnlyLazyEntryOfList <TKey, TValue>(keyData, new ReadOnlyLazyList <TValue>(_serializationService))); } entry.Values.Add(valueObject); } }