Esistono due motivi fondamentali per l'utilizzo degli strumenti ORM. Sapere quale si applica a te semplifica la decisione.
Molte persone usano la mappatura automatica perché non vogliono affatto occuparsi dell'accesso al database. Forse non lo capiscono, o non vogliono pensarci, o sono certi che non richiederanno mai alcuna funzionalità che vada oltre il minimo comune denominatore di persistenza relazionale che ORM può darti. In tal caso, si tratta di un utile compromesso: meno interventi di sviluppo sulle problematiche periferiche equivalgono a più tempo da dedicare allo sviluppo di questioni fondamentali. Il prezzo, naturalmente, è la perdita di controllo e l'espressività per le strategie avanzate di persistenza - di solito, si spera, proprio le cose avanzate che non avresti mai usato comunque.
Altri vogliono una strong astrazione dall'archiviazione dei dati effettiva perché anticipano che potrebbero cambiare il loro database o devono supportare diversi motori fin dall'inizio. In tal caso, gli strumenti ti aiutano assicurandoti di non mescolare affatto la logica di basso livello e di livello aziendale . In altre parole, tutte le cose che potrebbero causare ulteriore lavoro se in seguito hai cambiato database sono automaticamente proibite. Questo è un metodo utile per far rispettare la disciplina dello sviluppo per cose che non dovresti fare comunque (ma potrebbe accadere per caso). Tuttavia, i vantaggi sono reali solo se in realtà si estrapola e si sostituisce il provider di persistenza, altrimenti contribuiscono alle normali buone pratiche di stratificazione / non ripetizione di sé, ecc., Ma non di più. Se sei su una piattaforma mobile e non hai scelta nel quale database alimenterà la tua app, allora questa motivazione non ha molto senso.