Devo utilizzare un ORM solo quando si tratta di oggetti del modello dati?

5

Sono nuovo in ORM e abbiamo iniziato a sviluppare un nuovo sistema utilizzando NHibernate come ORM.

Penso che questa domanda possa riferirsi a qualsiasi ORM e qualsiasi lingua / piattaforma.

Il Team Leader ha detto che dovremmo usare NHibernate solo quando recuperiamo i nostri oggetti del modello di dati di dominio, cioè, non usare nessuna delle scelte o aggregazioni di NHibernate che recupereranno primitive singole o un elenco di primitive.

La ragione di ciò è che abbiamo bisogno di fare una distinzione tra l'ORM classico e altre abilità, così che la solita selezione e selezione massima useranno un progetto DAL "classico".

Penso che non sia così buono, perché interrompiamo l'accesso ai dati a due, e cosa c'è che non va usando le abilità di NHibernate che vengono controllate durante la compilazione?

Ci sono dei motivi per fare questa distinzione?

    
posta Mithir 06.03.2013 - 07:52
fonte

1 risposta

3

Avrai più fortuna usando la funzionalità inserita nell'ORM. NHibernate è incredibilmente flessibile e sa quanti database diversi funzionano. Usarlo consentirà al tuo database di essere facilmente trasportabile.

Direi al tuo caposquadra:

  • NHibernate produce query ottimizzate
  • NHibernate esegue il caricamento lazy
  • Consentirà la portabilità su varie piattaforme di database
  • Supporta il proprio, potente linguaggio di query.

Non "preoccuparsi" del codice di accesso ai dati e lasciarlo all'ORM. Concentrati sulla logica aziendale e sul dominio problematico.

EDIT: Una cosa che ho appena pensato è che se stai caricando manualmente gli oggetti probabilmente perderai le migliori funzionalità di NHibernate perché i tuoi oggetti saranno staccati.

    
risposta data 06.03.2013 - 09:20
fonte

Leggi altre domande sui tag