Domanda

Hai utilizzato OpenAccess ORM di Telerik ? Come si confronta con NHibernate? Quando dovrei considerare di usarlo su NHibernate?

È stato utile?

Soluzione

Mi chiedo la stessa cosa da solo. Da un lato, c'è NH con il suo sé open source gratuito, ma con opzioni di supporto limitate. Dall'altro, un'aggiunta abbastanza nuova alla scatola di un noto fornitore di strumenti, OA.

OA costa denaro, ma ottieni supporto. NH è gratuito, ma il supporto è stato conosciuto almeno nella mia breve esperienza per essere limitato e lento nel venire

Penso che entrambi siano probabilmente ottimi prodotti. Ho deciso di provare OA poiché sono già un utente degli strumenti di Telerik. OA e il suo supporto vengono comunque pagati.

NH utilizza classi semplici e oggetti senza decorazioni sulle proprietà della classe. OA richiede decorazioni (ben generate dalla GUI di OA Visual Studio).

NH richiede una "sessione" in cui svolgere un'unità di lavoro con il database; OA lo chiama "ambito". Entrambi utilizzano " transazione " ;.

OA ha l'integrazione con Visual Studio e può sia inoltrare che invertire da e verso un database. La mappatura diretta è così che puoi progettare le tue classi e quindi " push " quelli nel database per la persistenza. Il "reverse" è per te " modello di dominio " sviluppatori che è ciò che preferisco.

OA sta sicuramente subendo alcuni importanti aggiornamenti mentre Telerik gioca a "recuperare" " per la sua recente acquisizione e il rilascio di OpenAccess, precedentemente di proprietà di Vanatec (fuori dalla Germania).

Per quanto riguarda una "facilità d'uso" e "performance / scalabilità" punto di vista, vorrei sapere dove si trovavano ciascuno. Sono sicuro che qualcuno là fuori potrebbe mettere insieme un test onesto tra i due e prendere queste decisioni.

Una cosa che mi piace di NH sono i modelli disponibili per generare il codice necessario non solo per il "quot" scemo " oggetti business (che ora vengono generati da OA), ma per BLL e DLL. Dopo molte conversazioni con Telerik, ho l'impressione che pianifichino più opzioni per la generazione di codice, quindi OA è più utile pronto all'uso.

Spero che questo aiuti! Qualcuno, per favore, cerca di ottenere alcune statistiche sui problemi di performance.

Altri suggerimenti

Non l'ho usato, ma un vantaggio ovvio per me è che OpenAccess è supportato da Telerik, dove nHibernate è supportato dalla community. A seconda della tua azienda, questo può essere un fattore decisivo se sei pronto ad abbracciare soluzioni open source senza garanzia di supporto.

Modifica

Per la cronaca, sono un grande sostenitore di nHibernate e dell'open source in generale. Ho usato nHibernate negli ultimi sei mesi, usandolo per tutti i nuovi lavori nella nostra applicazione web. Per la mia attuale azienda è una buona scelta (Startup amano gratis).

Tuttavia, il mio precedente datore di lavoro, avrebbe avuto un momento molto difficile nell'accettare un componente supportato dalla comunità come parte fondamentale della sua infrastruttura. Ciò è perfettamente ragionevole in quanto i siti Web di queste società sono la loro unica fonte di entrate. Vorresti coinvolgere tutta la tua azienda in software a cui non è associata alcuna responsabilità? Alcune persone non vogliono correre questo rischio.

Personalmente ho trovato il supporto per nHibernate alla pari e ancora migliore con alcuni venditori commerciali.

Il mio punto non è di bash su OSS, ma di evidenziare uno dei vantaggi dell'utilizzo di un software che ha un supporto di coporate, con un canale di supporto dedicato e dedicato.

Un motivo in più: attualmente OpenAccess ha caratteristiche prestazionali migliori, se hai bisogno di un ORM veloce per il tuo progetto sarà una scelta migliore. Vedi benchmark ORM per i dettagli.

Direi che nHibernate è gratuito e OpenAccess costa $ 399. Sebbene CodeSmith con i modelli nHibernate sia $ 99- $ 399 se si desidera che nHibernate sia automatizzato facilmente. Sembra che OpenAccess abbia una maggiore trasparenza nel livello dati ed è probabilmente più facile da mantenere. Ma se utilizzassi qualcosa come Spring.Net, non solo avresti nHibernate nell'automazione dei dati, ma anche il livello di servizio automatizzato. Anche se prendilo con un granello di sale perché nHibernate e Spring.Net sono un altro lotto di file di configurazione che devono essere mantenuti. Scommetto che OpenAccess è compatibile con la GUI. O uno funziona, ma ci sono molte più informazioni là fuori su nHibernate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top