2010-04-05 9 views
7

Avvierò presto un nuovo progetto, utilizzando .Net 3.5 e Winform su un database Oracle. Stavamo pensando di usare un ORM. NHibernate è stato suggerito dal nostro architetto. Dal momento che personalmente ho più familiarità con Entity Framework, ho pensato che sarebbe stato più facile da usare rispetto a NHibernate. Ma dal momento che non esiste alcuna disposizione ufficiale da parte di Oracle, siamo resistenti al suo utilizzo.ORM per .Net ON Oracle

Quindi la mia domanda: Ho guardato i diversi fornitori disponibili e trovato alcune:

  • Devart
  • DataDirct
  • EFOracleProvider

Così mi piacerebbe avere una certa alimentazione di nuovo su ciascuno di essi: pro e contro, feature mancante, cose del genere, da chi li usa e sappiamo se stiamo meglio con NHibernate?

Grazie per l'aiuto.

risposta

7

Il tuo architetto ha ragione - NHibernate è semplicemente un fantastico ORM.

NHibernate non viene fornito con i designer visivi whizz-bang con cui EF viene fornito e mantiene tutto questo XML in sincrono con lo schema/migrazioni e le definizioni di classe come un lavoro di routine. Fortunatamente, esiste un auto-mapper chiamato FluentNHibernate che può rendere uniforme anche l'aspetto di NHibernate (è possibile personalizzare la mappatura su base per tabella o per colonna, se lo si desidera, e anche sovrascrivere le convenzioni di auto-mappatura).

I componenti di accesso ai dati che Microsoft emette tendono ad essere di livello inferiore e tendono a fare affidamento sui visual designer. Non è così che voglio lavorare. Personalmente, voglio una libreria di alto livello che funzioni dietro le quinte e non richieda macchinari fantasiosi da configurare e mantenere.

Non fraintendetemi: alcune delle cose che Microsoft emette sono fantastiche, come la piattaforma .NET nel suo complesso. Penso solo che Microsoft non prende di mira me e le mie esigenze con le sue strategie di accesso ai dati quasi come fa NHibernate.

+0

+1. Ho appena finito un progetto con .NET 3.5 e Fluent NHibernate e non era poi così male. C'erano alcuni nodi, ma erano facili da capire. –

+0

Ci sono designer visivi per NHibernate. NHibernate è utilizzabile senza XML. I fatti contano. –

+0

Grazie per il feedback, non conoscevo FluentNibernate, sicuramente ci penserò. –

Problemi correlati