I implement generic, persistent .NET collections based on the top of the ESENT database engine (using the ManagedEsent level of interaction). So far I have focused on classes that accurately mimic their System.Collections.Generic mappings, except that they take the path in a constructor indicating where the database should go. Such code works:
using Microsoft.Isam.Esent.Collections.Generic; static void Main(string[] args) { var dictionary = new PersistentDictionary<string, string>("Names"); Console.WriteLine("What is your first name?"); string firstName = Console.ReadLine(); if (dictionary.ContainsKey(firstName)) { Console.WriteLine("Welcome back {0} {1}", firstName, dictionary[firstName]); } else { Console.WriteLine("I don't know you, {0}. What is your last name?", firstName); dictionary[firstName] = Console.ReadLine(); } }
My questions:
- Besides compatibility with Stack, Queue, and Dictionary, what features do people want / need stored collections?
- Should I require version 2.0 or version 3.5 of the .NET platform?
- The types of keys and values ββare limited to the basic types of .NET (bool, byte, [all integers], float, double, Guid, DateTime, and string). I can add support for values ββthat are serializable structures. Is this type restriction too painful?
- What performance tests do people want to see?
- In which applications do people want to use PersistedDictionary for?
Next week I will have my first release, but I want to make sure that I'm building the right thing.
Laurion burchall
source share