Se la tua applicazione utilizza un database relazionale, il tuo codice conterrà molto SQL (o LINQ se stai usando .NET).
L'idea è di semplificare l'interazione tra il codice dell'applicazione e il database creando il livello di accesso ai dati e oggetti business in modo rapido e senza codifica, ma consente allo sviluppatore di estendere la logica aggiungendo speciali regole aziendali (se presenti).
Gli strumenti di mappatura relazionale degli oggetti sono molti. Non tutti gli strumenti sono uguali. Alcuni sono semplici, mentre altri sono abbastanza complessi per essere un intero framework.
Si basano su database già costruiti (tabelle) e leggono le definizioni della tabella dal database, quindi:
0: crea classi che rappresentano oggetti (di solito 1 a 1), tali classi contengono metodi per leggere, scrivere, aggiornare e cancellare dati dal database. Alcuni supportano LINQ (.Net) e alcuni hanno il proprio linguaggio di interrogazione degli oggetti.
1 - Gestisce automaticamente la generazione della chiave primaria e le relazioni tra tabelle
2: in grado di leggere e restituire automaticamente i dati relativi a una tabella con una chiamata al metodo
3: consente di cambiare il database senza codifica
4-Prenditi cura del buffering dei dati per migliorare le prestazioni
5-Genera l'SQL necessario per ottenere e inserire automaticamente i dati nel database
6: alcuni generano automaticamente i servizi Web (ad esempio Oxygen)
7-Alcuni possono generare automaticamente il codice di controllo
8-Alcuni possono creare stored procedure
9-Alcuni forniscono il supporto per l'autorizzazione
10: alcuni supportano automaticamente l'architettura a più livelli
11-Alcuni supportano .NET Entity Framework
Quindi, se hai bisogno di uno dei servizi di cui sopra nel tuo progetto, l'ORM potrebbe essere per te.
Potrebbe essere qualcosa per te decidere se vuoi utilizzare ORM o Entity Framework se sei un utente .NET.