Domanda

Consente di assumere im scrivere un programma, il mio programma ha le sue entità e tale. E dal momento che sto utilizzando un linguaggio OOP .Net (C #, ma potrebbe essere F # o ironpython), i miei oggetti hanno tratti strani OOP come eredità, riferimenti ad altri oggetti, e le relazioni gerarchiche.

Naturalmente Voglio salvare questi tutti al mio database maledetto Dio, e, ovviamente, non posso perché la sua relazionale, ed è venuto sotto forma Accidenti matematici che hanno speso tempo di apprendimento troppo per la teoria degli insiemi, Dio accidenti a loro.

Ora posso utilizzare uno strato ORM, ma che sarebbe un po 'di un incubo, perché malato dover scrivere ogni sorta di XMLs e così via.

No. Quello che voglio è una banca dati con funzionalità orientate agli oggetti! forse anche un di database relazionali

Ma! Voglio anche di avere un API naturale e attacchi nel mio Net mondo.

Voglio essere in grado di scrivere una classe Cat, e di essere in grado di dirmi database per salvare il mio gatto, e lo farei. se avrebbe un Linq fornitore sarebbe molto utile anche.

Tutte le idee?

È stato utile?

Soluzione

Beh ci sono un bel paio di oggetto-database fuori con diversi sapori. Alcuni sono facili da usi ottimizzati per i casi d'uso embedded, come db4o , perst.net ecc o banche dati più grandi come Versant Object Database , Objectiviy Database ecc . Google per più tali banche dati.

In ogni caso, tale database ad oggetti permettono di memorizzare oggetti e cercare di mantenere la semantica. Così si possono memorizzare le matrici, i riferimenti, di successione ecc Questo permette un modo molto nativo a che fare con i dati. La maggior parte delle anche fornire un fornitore di LINQ.

Ho anche consigliamo di guardare database di documenti, come RavenDB o MongoDB . (Google ha anche per più alternative). Coloro che hanno anche un'interfaccia molto naturale ed è possibile memorizzare molto complessi-oggetto grafici in esso. Tuttavia sono 'document'-oriented. Ciò significa che memorizzare e aggiornare i documenti, il che significa, in pratica, che vengono archiviati ed oggetto un gruppo di oggetti insieme e aggiornare tali aggiornamenti insieme.

Altri suggerimenti

Raven DB Penso che è quello che stai cercando. Ci sono altri database NoSQL documento intorno. CouchDB, MongoDB anche ma questi non sono implementazioni native .NET.

strati B.T.W ORM non sono un incubo più. Lungi da ciò, avete esaminando L2S, EF e Fluent NHibernate? Nessuno di questi richiedono configurazione XML. Ognuno ha i suoi punti più e meno, ma tutti sono perfettamente utilizzabile.

Per un tale scenario si potrebbe prendere in considerazione un database di documenti come ad esempio Raven: http://ravendb.net/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top