Si sapevo dell'esistenza di ORM, avevo iniziato a guardali ma per il momento messi da parte in quanto non avevo sufficiente padronanza.
Nell'eventualità mi consiglieresti entity framework di .net?

Nel caso specifico del esempio, il fatto di mettere gli oggetti in un dictonary ti sembra una brutta idea?

Per rispondere alla tua seconda affermazione sviluppo un metodo per ogni query che l'oggetto necessità.

Ciao
Paolo