2012-11-16 9 views
5

In Django (che utilizza python), è possibile creare facilmente 'modelli' che consentono di astrarre tutto l'SQL e utilizzare semplicemente oggetti per recuperare/memorizzare informazioni da un database.È disponibile un'astrazione di tipo `django model` per C++?

Qualcuno può indicarmi la libreria C++ che mi consente di fare la stessa cosa? Attualmente stiamo usando un backend postgre e ci interfacciamo con esso con libpqxx. Creiamo i nostri modelli di dati orientati agli oggetti, ma dobbiamo essenzialmente copiare/incollare il codice sql più e più volte e quindi apportare modifiche ad esso per ogni 'modello'. Dio ci aiuti se dobbiamo spostarci su un backend diverso dal momento che la maggior parte di questo codice dovrebbe essere ottimizzata (al momento non è astratta in modo da creare un backend diverso).

Esiste una libreria che mi consentirà di connettermi a diversi tipi di database di back-end e di eliminare la necessità di scrivere qualsiasi SQL per definire e utilizzare i nostri modelli di database?

+3

Si chiama ORM. – Marcin

+0

@Marcin Qualche possibilità di menzionarne una che hai usato o le tue esperienze? Qualche possibilità ne hai una che possa imitare ciò che è possibile con Django? – g19fanatic

+0

Non ne ho mai usato uno in C++. Ho visto questa domanda solo a causa del tag django. Detto questo, dovresti essere in grado di fare questo su Google relativamente facilmente. – Marcin

risposta

3

Mentre questo question era chiuso, ha numerose risposte pertinenti alla tua domanda inclusa in esso.

+0

Raccomando a tutti di votare per riaprire quella domanda. Io ho. – Marcin

+0

Non ho riaperto i diritti di voto, ma ho sollevato la domanda. –

+2

Puoi aiutare votando il mio commento in tal senso sulla domanda collegata, rendendola più visibile. – Marcin

1

Come si potrebbe dare un'occhiata a cotogna: http://www.quince-lib.com

Non è esattamente Django, ma lo fa salvare voi a scrivere SQL a mano. Per quanto riguarda i diversi database, la mela cotogna ha bisogno di una corrispondente libreria di backend per ciascun database di questo tipo. Attualmente ha librerie di backend per PostgreSQL e sqlite.

(Full disclosure: l'ho scritto.)

Problemi correlati