Io uso sqlite3 con il linguaggio c recentemente. Qualcuno può dirmi qualche ORM conveniente per c? È necessario sviluppare un meccanismo ORM per i miei progetti?Esiste qualche utile framework di libreria ORM per c?
risposta
Avere bisogno di ORM mi suggerisce di avere una specie di modello di business/dominio in mente che si desidera mappare su un database.
In tal caso, mi sembra che si stia tentando di scrivere un'applicazione aziendale in una lingua più adatta alla programmazione dei sistemi (C). Potresti voler valutare se questa è una buona strategia architettonica.
Inoltre, non credo che ORM è mai probabile che sia una buona misura per un linguaggio che:
- non è di per sé orientata agli oggetti
- non ha molto supporto per meta- riflessione programmazione/che tende ad essere al centro di molti schemi ORM
Infine, ci sono un sacco di persone che credono che ORM è un anti-modello, in ogni caso. (example, example, example)
complesso, il mio suggerimento sarebbe quello di uno:
- Evitare ORM del tutto, se si ha intenzione di continuare a utilizzare C
- Passa a un linguaggio/piattaforma dove ORM è almeno ben supportato e adatto al paradigma (ovviamente Java)
Grazie mille. I suggerimenti sono utili. La mia intenzione originale è di evitare manipolazioni ripetute per accedere al DB. Perché ho trovato molti codici di ripetizione nel mio progetto.Ho scritto un meccanismo per farlo, ma è così difficile da astrarre completamente. Considero di trovare prima l'ORM, e ce ne sono pochi. –
Una breve ricerca su google arrivato fino a questo: http://ales.jikos.cz/smorm/
ho mai usato, quindi non prendetevela con me se riformatta tutti i dischi rigidi e rende il vostro frigorifero appena abbastanza caldo per rovinare il vostro latte, ma sembra che potrebbe essere meglio di niente se davvero non vuoi scrivere query.
oh sì. sembra che gli autori non abbiano fiducia nelle sue API .. –
ho scritto this library come "ORM per C".
codice di esempio si presenta come:
typedef struct person {
int id;
char *name;
} person;
void find_by_name(isti_db *db, const char *text, person** result) {
corm_person_select *s;
corm_person_select_alloc(&s, db);
s->name(s, "like", text)->_go_one(s, result); // populate result from the database
s->_free(s, 0); // in "real" code, 0 is a chained status value
}
purtroppo, non è in uso da nessuna parte (per quanto ne so) e comprende un paio di idee piuttosto che condito programmatori C potrebbero trovare strano. ma non è abbandonato - sono ancora interessato al problema e spero di continuare a lavorarci su ad un certo punto.
- 1. Esiste un repository di libreria per C?
- 2. Esiste un framework P2P in c?
- 3. Esiste qualche framework per .NET per popolare i dati di test?
- 4. Esiste un utile tutorial per Android Animation per principianti?
- 5. Esiste una libreria C++ XSLT?
- 6. Stile commento C++:/* M ... M * /, che cosa significa "M"?
- 7. Esiste un framework di shell C++?
- 8. Libreria EXIF per .NET 4.0 framework
- 9. Esiste qualche funzione logaritmo GMP?
- 10. Esiste una libreria di hashmap per JavaScript?
- 11. Esiste qualche tipo di API Grooveshark?
- 12. Migliore libreria di logging per C++
- 13. Conosci qualche libreria OpenSSH per Windows?
- 14. Funzione libreria C per ordinare
- 15. se esiste qualche tutorial per la libreria zxing di Android con Fragments
- 16. Esiste qualche libreria di apprendimento automatico .NET che potrebbe, ad esempio, suggerire tag per una domanda?
- 17. carico utile JSON per HttpClient in C#?
- 18. Esiste una funzione utile in ogg-c/cacao-touch per trovare il numero più basso?
- 19. Libreria P2P per C++
- 20. Esiste una libreria USB cross platform C++?
- 21. Posso usare in qualche modo il codice C# o la libreria C# nel progetto java android?
- 22. Esiste una libreria di programmazione quadratica in C++?
- 23. Qualsiasi framework di registrazione per la libreria di classi portatile?
- 24. Esiste una libreria di visualizzazione 3D o un toolkit per C? (No C++ per favore!)
- 25. Esiste una specie di libreria di assemblaggio C++ di runtime?
- 26. Esiste una soluzione alternativa per rendere un membro della struttura in qualche modo "privato" in C?
- 27. Esiste una libreria YAML nativa per iPhone?
- 28. Struttura di directory per una libreria C++
- 29. Framework di calcolo distribuito in c/C++
- 30. Esiste qualche limite di dimensione per il post di ajax?
Sembra che chiunque desideri che un ORM sia improbabile codificante in C .. –
Che cosa hai in mente dato che C in genere manca la parte Object di quell'acronimo? – Justin
mi sono interrogato anche su questo (una specie di libreria per automatizzare l'accesso da c); probabilmente mapperebbe una struttura in una riga in una tabella. per favore, i downvoters/closers spiegano perché? –